ID:154309
 
We're taking a fresh look at the libraries, and have decided to go through all of them, including previously accepted libraries, making sure they meet some minimal criteria.

Starting today if you are a library creator you might see your library returned for resubmission to get it up to the following:

- Every library must have a .dme file for the system to use it correctly. Some libraries created before the current packaging system may be missing .dmes, and need to be recompiled and uploaded.

- People should be able to include the library without getting unwanted additions to their game. For the most part this means that demo code should be properly segregated, using either the #ifdef approach, or specifying the demo files in the packaging process, or making the demo code a separate project. Otherwise when people include your library they get demo verbs and variables added to their mobs and such.

- A library should not require people to change the library itself to make it work. If it does, it is demo code, not a library.

- In all but trivial cases, demo code should be provided, whether just in comments with the library or elsewhere. Many people find it hard to use a library if they can't copy/paste some working code, or at least see an example of how it's supposed to work.

- There needs to be an appropriate level of documentation, depending on the complexity of the library.

For libraries being newly-considered, some additional "good practices" may be recommended, but they won't keep a library from being accepted. I'm planning to write a BYONDscape article in the near future which gives some tips on creating good libraries.

If your library is returned for resubmission, don't panic!

First of all, you are not being singled out. Both Dantom and myself violate the above rules in some of our libraries, and where we do those libraries are suffering the same fate until we fix them up. This is all about raising the bar for the system as a whole.

Second, a change in channel status doesn't change anything for your users. The library is still there and downloadable, it's just not listed in the DM.Libraries channel.

Libraries are a critical part of a healthy development system, and we'll be spending some quality time making test games to try out libraries. This does mean it may take a bit of time to get through newly-submitted libraries, so please have some patience -- it's because we care!
Interesting that you presented this now... I was planning on revamping most of my libraries to be completely object-oriented.

(Yes, this includes s_admin. =) )
In response to Spuzzum
Interesting that you presented this now... I was planning on revamping most of my libraries to be completely object-oriented.

Interesting. I was considering the same thing. As I have to code in Java at school, the practice is just growing on me. I tend to rely on objects a lot to carry data, but I write a lot of procs that aren't contained.

-AbyssDragon