GeraldWodni / theforth.net

Package registry website for the Forth programming language
GNU General Public License v3.0
15 stars 4 forks source link

Use a liberal license as the default in the package examples #19

Open TG9541 opened 3 years ago

TG9541 commented 3 years ago

When bootstrapping a packet repository the initial content is important, and I think you did a good job! The examples for potential users are also important, because it's important to give them examples that sparks their interest. The rationale for publishing source code isn't a trivial one.

Any modern software ecosystem has to establish a balance between Open Source "ideologists" and "constructivits". The ideologist follows the ideal of free software, and won't care about assets they may be at the code of a business (there are reasons to believe that a business model that relies on such a core has an inherent weakness, but that's a different discussion). The constructivist is a pragmatic who wants to foster a culture of exchange and sees value in creating an ecosystem by sharing certain assets without asking for anything in return.

I must admit that I'm on the constructivist side, as I believe that for creating an ecosystem commercial use of standard packages must be possible.

Currently the Example package.4th in the guidelines is the following

forth-package
    key-value name my-package
    key-value version 0.1.0
    key-value description A brief summary of what your package does
    key-value license GPL
    key-value main my-package.4th
    key-list tags GPL
    key-list tags Some-other-tag
    key-list dependencies stringstack 1.0.3
    key-list dependencies some-other-package 0.1.x
end-forth-package

It's good that there is a license, and that it's machine readable. The problem is that it's GPL, short for a family of restrictive ("ideologist") FOSS licenses that put IP at risk (by design), and that's the bogeyman of OSS in commercial settings.

I would like to recommend setting a liberal license from the academic, the commercial OSS, or the CC families as the default. Likewise, I would like to recommend being specific about the implications for the publisher, and the user of a package.

GeraldWodni commented 3 years ago

Interesting. On big package repositories like NPM nearly all major packages are MIT or other licenses more permissive than GPL. I also see the point of a commercial user refraining from using packages if most of them are to restrictive for their project.

I do not see an issue in changing the default to MIT, but as you hinted in your last paragraph I'd like to provide some aid in choosing the correct license. I think I'll add a link to https://choosealicense.com/