Annotation of freem/POLICY.md, revision 1.1

1.1     ! snw         1: # FreeM Project Policies
        !             2: 
        !             3: 
        !             4: ## Copyright and License
        !             5: 
        !             6: This document is Copyright (C) 2020 John P. Willis
        !             7: 
        !             8: Permission is granted to copy, distribute and/or modify this document under the 
        !             9: terms of the GNU Free Documentation License, Version 1.3 or any later version 
        !            10: published by the Free Software Foundation; with no Invariant Sections, with no 
        !            11: Front-Cover texts, and with no Back-Cover Texts.
        !            12: 
        !            13: ## Mission Statement
        !            14: 
        !            15: To provide a highly portable, feature-rich, free software implementation of the 
        !            16: M programming language, compliant with relevant MDC standards, and focused on
        !            17: extensibility and easy application development on client, desktop, single-board,
        !            18: and older server devices.
        !            19: 
        !            20: ## Identity
        !            21: 
        !            22: FreeM is an implementation of the M programming language and database. This is
        !            23: woven into the foundational motivations of our core developers, and the
        !            24: observance of this identity is to be considered a foundational rule of the
        !            25: project.
        !            26: 
        !            27: We are first and foremost lovers of the M programming language, and are proud
        !            28: to represent it with our quirky--yet feature-rich--little implementation. No
        !            29: effort will be made or allowed to hide our M identity or cultural and community
        !            30: heritage. 
        !            31: 
        !            32: ## Shalom ha-Ashkenaz
        !            33: 
        !            34: We will continue to honor the enigmatic Shalom ha-Ashkenaz for his original 
        !            35: contribution of FreeM to the community. The Star of David is the symbol he
        !            36: chose to represent this implementation, and it will remain forever enshrined
        !            37: in our code headers.
        !            38: 
        !            39: ## External Forks
        !            40: 
        !            41: At least one external fork of FreeM is known to exist, pre-dating the current
        !            42: maintainer of the GUMP-era codebase taking over. The FreeM project and its 
        !            43: members may not publicly disparage or plagiarize from any such fork. If the
        !            44: maintainers of these forks wish to join this project, they will be welcomed
        !            45: warmly into our community.
        !            46: 
        !            47: ## Other Implementations
        !            48: 
        !            49: FreeM project contributors are free to criticize other M implementations 
        !            50: outside of the project. However, disparaging other implementations in the
        !            51: FreeM mailing lists, Discord server, or other public or private social media
        !            52: venues will not be tolerated, nor may FreeM contributors indicate or 
        !            53: insinuate that their criticisms in other venues represent the official opinion
        !            54: of the FreeM project itself.
        !            55: 
        !            56: Those who have signed nondisclosure agreements involving proprietary, closed-source
        !            57: M implementations may not contribute source code to FreeM, as our project and its
        !            58: host organization, Coherent Logic Development, cannot afford to defend itself 
        !            59: against copyright infringement claims.
        !            60: 
        !            61: ## Mailing Lists
        !            62: 
        !            63: The *freem-dev* mailing list (freem-dev@mailman.chivanet.org) is a venue for
        !            64: discussions among those contributing to FreeM itself. Commit messages are 
        !            65: automatically sent there.
        !            66: 
        !            67: The *freem-users* mailing list (freem-users@mailman.chivanet.org) is a venue for
        !            68: those using FreeM to develop M programs and applications.
        !            69: 
        !            70: ## Project Governance
        !            71: 
        !            72: Internal project governance is handled in the *project-policy* channel of the
        !            73: *FreeM Community* Discord server.
        !            74: 
        !            75: John P. Willis (jpw@coherent-logic.com) is the project lead. In John's absence,
        !            76: any member of the "Core Team" from the *FreeM Community* Discord server is 
        !            77: authorized to speak with authority on matters of FreeM project governance, or
        !            78: redirect such matters to John per their own judgment.
        !            79: 
        !            80: ## Relationship to Coherent Logic Development LLC
        !            81: 
        !            82: Coherent Logic Development LLC lends its Internet and server infrastructure and
        !            83: corporate weight to the FreeM project. It does not exercise authority over the
        !            84: project itself or its contributors. We do not believe in corporate personhood.
        !            85: 
        !            86: ## Copyright Policy
        !            87: 
        !            88: ### Ethical Positioning
        !            89: 
        !            90: FreeM strongly identifies with the *free software* movement, and does not associate
        !            91: itself with the ethically-empty *open source* movement or terminology. We believe
        !            92: that the ethical implications of proprietary software are far more important than
        !            93: the mere practical implications. We believe there is a natural right to software
        !            94: freedom, and the laws written to protect proprietary software devils are both 
        !            95: unjust and ill-conceived. Let the hoarders hoard their piles of money: we of the
        !            96: FreeM project believe in all of the essential rights of the free software movement,
        !            97: and this position rests well above and beyond any commercial gain we stand to make
        !            98: from FreeM, if any.
        !            99: 
        !           100: ### Code Licenses
        !           101: 
        !           102: FreeM will use strong copyleft licenses (namely, the GNU Affero General Public 
        !           103: License, version 3 or later) for all contributions of code. 
        !           104: 
        !           105: ### Documentation
        !           106: 
        !           107: Documentation will be released under the GNU Free Documentation License.
        !           108: 
        !           109: ### Contributor Protections
        !           110: 
        !           111: FreeM contributors will retain their individual copyright for their contributions.
        !           112: 
        !           113: FreeM contributors will also receive full credit for their contributions in the
        !           114: FreeM manual and on the FreeM website.
        !           115: 
        !           116: ## Versioning and the Software Contract
        !           117: 
        !           118: ### Semantic Versioning
        !           119: 
        !           120: FreeM will adhere as closely as possible to Semantic Versioning 2.0.0:
        !           121: 
        !           122: * Breaking changes will be limited to changes in major version
        !           123: * New functionality will increment the minor version
        !           124: * Fixes without functionality enhancements will increment the patch version
        !           125: 
        !           126: Releases prior to 1.0.0 come with no promises of stable APIs or functionality.
        !           127: 
        !           128: However, once a 1.0.0 release is reached, we will make every effort to avoid 
        !           129: breaking API changes wherever possible, above and beyond the requirements 
        !           130: enforced by semantic versioning.
        !           131: 
        !           132: ## Issue Reporting
        !           133: 
        !           134: Issue reporting is handled exclusively through the FreeM GitLab repository
        !           135: at https://gitlab.coherent-logic.com/jpw/freem
        !           136: 
        !           137: When reporting issues, please provide as much detail as possible. Leave the
        !           138: assignee field blank, unless you intend to assign yourself, and a FreeM
        !           139: core team member will assign the issue to the appropriate developer.
        !           140: 
        !           141: ## Repository Access
        !           142: 
        !           143: If you have write access to the FreeM git repository, please do your development
        !           144: in your own branch, and create a pull request for your changes. Unless you are
        !           145: a core developer, you may not commit directly to the main branch.
        !           146: 
        !           147: ## Code of Conduct
        !           148: 
        !           149: For the moment, the FreeM project will observe the *GNU Kind Communication 
        !           150: Guidelines* (https://www.gnu.org/philosophy/kind-communication.html) as a 
        !           151: Code of Conduct, pending the development of a more exhaustive and general
        !           152: set of community software guidelines.
        !           153: 
        !           154: Our main focus is neither punitive nor retributive:  most people who push the
        !           155: limits of acceptable behavior should be gently and privately reminded of the 
        !           156: broader goals of the project, and guided with the same gentle hand towards
        !           157: healthier means of communication.
        !           158: 
        !           159: FreeM developers should strive to display radical hospitality--free of judgment--
        !           160: to all community members, participants, and outsiders, no matter what their
        !           161: background or belief system. 
        !           162: 
        !           163: The one category of offense for which tolerance will be strictly limited is
        !           164: hypocrisy. Hypocrisy, in our estimation, is most prominently on display in acts
        !           165: based on prejudice. Whether against a race, culture, gender identity, sexual
        !           166: orientation, religion, language, a mental, emotional, or physical challenge, all
        !           167: prejudices are rooted in hypocrisy.
        !           168: 
        !           169: Place the needs of the community above your own, and you will get along well here.
        !           170: 
        !           171: ## Standards Compliance
        !           172: 
        !           173: * The FreeM project will endeavor to comply with M Development Committee standards
        !           174:   to the best of its ability, and to the extent to which FreeM's architecture
        !           175:   allows.
        !           176: 
        !           177: * The FreeM project will maintain a presence in MDC proceedings. Its representative(s)
        !           178:   will relay all MDC decisions to the FreeM developer community.
        !           179: 
        !           180: * The FreeM project will respect MDC guidelines with regards to vendor-specific
        !           181:   extensions (using 'Z' prefixes, etc.).
        !           182: 
        !           183: * The FreeM project *may* implement MDC proposals prior to such proposals being
        !           184:   elevated to type A extension status. Such features will be clearly marked as
        !           185:   being subject to change, to avoid problems for FreeM users, should such proposals
        !           186:   fail to become extensions, or should their syntax or semantics change.
        !           187: 
        !           188: * The FreeM project *may* retain non-standard features where architectural issues
        !           189:   preclude the implementation of a standards-compliant alternative, until such
        !           190:   time as a standards-compliant solution may be found. Such exceptions
        !           191:   will be noted in the Conformance Clause in Appendix F of *The FreeM Manual*.
        !           192: 
        !           193: * Once the 1.0.0 release milestone is reached, each major or minor release will
        !           194:   update the Conformance Clause in Appendix F of *The FreeM Manual*. This
        !           195:   conformance clause will include a full, un-redacted report of a thorough and
        !           196:   complete run of the *M Validation and Test Suite* (or *MVTS*), to include both
        !           197:   success and error conditions. To hide areas where FreeM fails to conform to
        !           198:   MDC standards does a great disservice to this project, undermines the labors
        !           199:   of the MDC, and undermines trust in our community of users and developers.
        !           200: 
        !           201: ## Coding Standards
        !           202: 
        !           203: Contributions must follow the Coding Standards in Appendix E of The FreeM Manual. 
        !           204: 
        !           205: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>