www.digitalmars.com [Home] [Search] [D]
Last modified Feb 25, 2005.

Phobos Contributions

Phobos (the D runtime library) consists of code written by Digital Mars and contributed by the D programming language community. In order to promote some consistency in licensing of the source code, use these guidelines. Please ensure that all contributed code is either solely created by you or that all the copyright holders in it are willing to license it under the following terms. It's critically important that the D runtime library be "IP clean".

New Modules

User submissions of new modules need to explicitly pick one of these three licenses:
  1. Explicitly place it into the public domain with:
    This module is written by Your Name and placed into the public domain.
  2. Copyright it, but make it freely usable by others with the following notice:
    Copyright (C) 2004 by Your Name

    This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

    Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, in both source and binary form, subject to the following restrictions:

    1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
    2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
    3. This notice may not be removed or altered from any source distribution.
  3. Transfer the copyright to Digital Mars:
    Copyright (c) 2004 by Digital Mars
    All Rights Reserved
    written by Your Name
    www.digitalmars.com
    License for redistribution is by either the Artistic License in artistic.txt, or the LGPL.

Bug Fixes and Enhancements

Bug fixes and enhancements to existing modules are welcome. For such contributions to modules under the licenses above, Add Your Name to the top with a one line description of your improvements, and place your change into the public domain.

Other Licenses

Sometimes, it may be necessary to use another license, such as if the code is a D translation of some other copyrighted package. If so, such license must enable free redistribution for any purpose, or it cannot go into Phobos. Modules that cannot meet this requirement, such as proprietary or GPL'd code, will have to go into separate libraries. Closed source libraries will not be accepted.
Copyright (c) 2004 by Digital Mars, All Rights Reserved