Mars Drafting Library - Official community driven library

Zach the Mystic via Digitalmars-d digitalmars-d at puremagic.com
Sat Jan 31 12:34:30 PST 2015


On Saturday, 31 January 2015 at 14:06:20 UTC, Piotrek wrote:
> Hi,
>
> The history of std.(experimental.)logger and the latest thread 
> about gui functionality inclusion into Phobos made me think 
> about how to solve the problem of adding new modules.
>
> I came up with the idea (maybe not new) to create a additional 
> library(along druntime and Phobos) delivered with dmd package 
> and named "Mars" (Deimos is unfortunately already taken ).
>
> The library itself would be driven by community (not individual 
> library developer) in order to be... the standard.
>
> The process would be something similar to that other committees 
> use
> (e.g http://www.iec.ch/standardsdev/how/processes/development/) 
> where before the standard is approved it goes through a draft 
> stage. Still a draft can be used to create a working product 
> (e.g. some Wi-Fi solutions based on IEEE 802.11 drafts)
>
> Possible initial prerequisites:
> - User awareness about the usage consequences
> - Library placed at https://github.com/D-Programming-Language/
> - Only well recognized community members have pull rights
> - design decision made on the best known sw engineering 
> patterns used in D
> - New module should be functional with D/Phobos standards 
> applied
> - API and implementation allowed to change any time in order to 
> make a progress
> - no external dependencies beside OS services
> - "draft" as the root module name e.g. "module draft.gui"
>
> Advantages:
> - community driven process which ensures the lowest level of 
> controversy
> - fast path for modules like GUI to be standardized
>
> Disadvantages:
> - additional effort for the sw release process
>
> Ready to be destroyed ;)
>
> Piotrek

The most important thing about a standard library is decisiveness 
in the leadership about what *kinds* of things should be in it. 
When it's been made clear that a given task is worthy of 
inclusion in the standard library, there will be enough incentive 
for contributors to put in the time and effort required to meet 
its high standards.

But there are so many tasks that aren't quite up to that bar, 
either because they serve too specific a niche, or because there 
are two or more good, but conflicting ways to implement 
solutions, and no good way to decide between them.

For any such task that doesn't meet those high standards, the 
library's development is best left to the community. But there is 
a place for the official recognition of existing libraries which 
have reached a level of quality that can be safely recommended. 
This is what is currently missing.

There needs to be a page for this. The existing Wiki page:

http://wiki.dlang.org/Libraries_and_Frameworks

... suffers from exactly the same problem as code.dlang.org. It 
contains everything in existence.

This is more of a "second-party" library system, for which idea I 
am indebted to this article: 
http://www.jfbillingsley.com/blog/?p=206

Suggestions for implementation?



More information about the Digitalmars-d mailing list