Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 1.92 KB

CONTRIBUTING.md

File metadata and controls

37 lines (31 loc) · 1.92 KB

Contributing

While the project is Free Software (meaning you are allowed to modify and distribute the code as you want), I would like to retain sole copyright in my repository. This means that if you would like me to incorporate your changes into my repository then you have to sign a Copyright Assignment Agreement (CAA) first. The main reason for this is that I really would like to retain the ability to switch licenses at will in the future. I cannot anticipate all possible uses of the code or all the possible legal complications that may arise from having multiple copyright holders.

One scenario in particular that frightens me is where we cannot move code from the core compiler into the standard library because they use different licenses (and if the standard library is covered by the GPL you wouldn't be able to use it in non-GPL programs).

Another scenario is where we might make the compiler into a library that can be linked with compiled programs (thus allowing programs to dynamically compile/recompile code on the fly), in which case it would also need an LGPL-like linking exception.

Keep in mind that by assigning copyright to me, I also retain the option to license the whole codebase (modified or not; modifiable or not) to somebody in exchange for money. I don't think there is anything wrong with that per se, but I find it an unlikely scenario simply because the open source project would still be open source and anybody could (still) fork it and take over maintainership of their own fork at any moment.

I don't actually have a standard CAA form/document ready -- that is due to lazy evaluation in the absence of contributors ;-) So if you're the first potential contributor (who is not me), send me an email and we will work something out.

All this is not to say that I don't want contributions -- on the contrary! I would love for somebody to be interested enough in the project to take an active role in development.