Introducing the MOSL

So, some time ago, I was discussing how the open-source world was, in my opinion, lacking a software that keeps the “contribute source back” core principle of the GPL without being so convoluted and restrictive. I named the concept NPL (Neolander’s Public License) as a temporary name. Well, that side-project has grown up, and I can now show a first draft.

The draft

The current draft is now stored at https://theosperiment.wordpress.com/mosl/.

Status

This draft is about 2 pages long, and I hope it will stay that way. For now, I wouldn’t recommend basing any software on it, since the text has not passed lawyer review to check for loopholes, and I lack a permanent hosting service to put a copy of the license on. But the overall spirit is there. So, do not hesitate to leave comments. And if you have a lawyer friend, please call him/her for help too !

21 August 2012: Updated text to clarify what “source code” is.

5 thoughts on “Introducing the MOSL

  1. Kyle Spaans August 10, 2012 / 5:08 pm

    What about the Mozilla license? It applies per-file, so that it’s really easy to integrate MPL licensed code with closed-source programs.

  2. Hadrien August 11, 2012 / 9:18 am

    That’s not quite what I had in mind. I wanted something that still forces people who benefit from the licensed code to contribute back their source under the same conditions as they distribute their binaries, but without much restrictions on the conditions under which said binaries are distributed. I think that this is an interesting way to promote source code redistribution among developers, without annoying software distribution channels as much as the GPL does. Open source should strictly remain a developer issue.

    As an example, you could take MOSL-licensed code, modify it, and integrate it in a commercial product with an explicit statement that forbids users to give free copies around… but you would have to agree on giving a copy of your source code to any paying customer who requests one because he wants to see how your software works. And if, as a developer, you find the thought of evil companies making money off your freewares disturbing, nothing prevents you from using a modified version of the MOSL which prevents using your software and its derivatives in a commercial fashion. That’s why I called id “Modular” : it aims to be a minimal, expandable subset of most licenses which promote source code redistribution.

  3. Kyle Spaans August 13, 2012 / 5:11 pm

    To clarify:
    1) Developer takes MOSL-licensed code, creates a derivative work, and sells it.
    2) User purchases dervivative and is required to get a copy of the source but cannot freely share that source, nor the binary

    So this is different from the GPL in that the dev can still restrict the distribution of the source (while still being forced to share it)? But the MOSL license is still viral (like the GPL) in the sense that the derived work will be forced to be MOSL licensed?

  4. Hadrien August 13, 2012 / 6:54 pm

    The aim is that the developer chooses the terms under which binaries are redistributed, but that anyone who can get a copy of the binary under these terms can also get a copy of the source and toy with it at home.

    The implementation is indeed a bit GPL-like, in that MOSL-licensed software must be relicensed under the MOSL or a superset of it. But unlike with the GPL and its “No surrender of freedom” section, I set very little restrictions on what that superset can be like. It basically enforces the above, and nothing more. If you want to make an open-source variant of the Microsoft EULA, nothing prevents you from doing so.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s