Product licensing changing to Creative Commons
The use of Open Source software have exploded in recent years and it has been amazing to watch how Open Source have grown from tightly nit communities advocating for a free licensing model to major companies, and basically the whole industry, leveraging Open Source software to build the software of the future.
However, as more businesses start to use open source software for their own commercial purposes it becomes unclear in many cases to whom the ownership of the product belongs. In some cases this can even lead to companies directly copy&pasting works for their own commercial benefit without any attribution to those who created the projects.
Some recent examples of this includes Google developers copying the hyperHTML library to become lit-html (as you can read about here) or Amazon copying MongoDB (along with other libraries) for their commercial purposes (as can be read more about here).
Edit: As a personal addition I can now add Vaadin to this where they forked the Gradle plugin I had been working on for years. You can read about it on this Vaadin forum thread https://vaadin.com/forum/thread/17830616/17918359.
These are just a few known examples, this is becoming a growing problem in the industry.
To this end I feel that the best way forward is to re-license all Open Source Devsoap products under a Creative Commons license, rather than the existing Apache license. More specifically the Creative Commons Attribution-NoDerivatives 4.0 International Public License which I feel addresses the most problematic parts of the existing licenses.
What does this mean in practice?
Right, for most people reading license texts causes migraines so lets instead go through what this change actually means via use-cases:
I use the Devsoap Gradle plugin in my Open Source hobby project by including it from the Gradle plugin repository.
You don't need to do any changes. You are using a pre-built version of the plugin and can continue to do so for all eternity.
I use the Devsoap Gradle plugin in my company's commercial project. We are including it from the Gradle plugin repository.
No changes are needed. Since you are using a pre-built version of the plugin provided by Devsoap you are free to continue using it to build and sell your software without any attribution.
Our company is building the plugin from sources internally and using that plugin to build our software within the company.
The license allows you to take the sources and build the software and use it for your own purposes. You are however not allowed to share those binaries with the public (upload to a public repository or distribute as a download) as that is considered a derivative work.
Our company wants to use the sources to build and publish a plugin for the public to use for free.
This is not permitted and does not follow the terms of the license. Please contact email@example.com to further discuss options.
Our company wants to use the sources to build and publish a plugin for the public to use for commercial purposes.
This is also not permissible.
As you can see nothing really changes if you are using the pre-built plugins provided by Devsoap from the Gradle plugins repository. You can continue to build both personal and commercial applications without any worry.
However, if you are modifying the sources and building the plugin and want to publish it as a derivative work to the public for external use you will need to contact Devsoap for permission.
I hope I clarified most cases, if you have any more questions regarding this don't hesitate to reach out via firstname.lastname@example.org or comment in the comments below. The website for the Creative Commons license also provides a nice summary of what the license provides, check it out at https://creativecommons.org/licenses/by-nd/4.0/.