I have a project that I want to publish as an open source project, but as the creator I would like to get a head-start in taking advantage of my work for monetary gain.

Can I prevent people republishing my work, or using it for monetary gain, before a certain date? If so, what license could I use to do so?

  • What are you hoping to gain with the open-source publishing? Why is simply delaying publishing the open-source and licensing the code more freely at that point a bad option for you? – Neil Slater Sep 24 '15 at 18:39
  • Well then... Just wait to open source it. What's the problem? – RubberDuck Sep 24 '15 at 23:05
  • Good comments, I need to gain some revenue first, then I am okay with open source it.. – MRAN Sep 25 '15 at 18:51
  • You might be interested in the Transitive Grace Period Public Licence which allows people to keep their changes to the source code secret for a limited amount of time before requiring publication under GPL like terms. – CodesInChaos Oct 2 '15 at 7:15

Yet another question where the answer is some variant of "you are the author so you can pick whatever license you want" :)

You can simply publish your project under a license that prohibits republication, or for monetary gain, or any activity that you don't want. You are the author so you can attach any conditions you want, even ludicrous ones, because the license is a grant of permissions under conditions you choose: "you can do X with this as long as you satisfy Y. If not, tough luck: the code is owned by me so you're not allowed". Just make sure you write the license with a lawyer.

Then, after a specified date, you release the project under a proper open source / free software license.

Be aware that your original license is not free/open; truly free/open licenses cannot limit redistribution nor can they discriminate against endeavour such as whether the use is for monetary gain.

There's a similar use case where the transformation to open source is automatic, to guard against hit-by-bus scenarios, asked here and here; these may be useful.

You should also ask: what's there to gain by releasing under a "source available" license? By providing the source but very few other permissions, people can study the code, and not much else. On the other hand, it also makes it vastly easier for unethical actors to copy your code and use it without your permission. Do the benefits really outweigh the costs? If not, it may just be better to keep your code closed source initially.

A historic example: the Doom Source License

The source code for the engine of the popular game Doom was initially released under a non-commercial (and hence not free/open) license called the Doom Source License (DSL). You can find details and the full text here: http://doom.wikia.com/wiki/Doom_Source_License

The license, apart from restricting commercial use, granted a lot of other permissions, including distributing modified versions, so it enabled a lot of source ports by hobbyists. These greatly contributed to the longevity of Doom and arguably improved the commercial value of the Doom franchise.

Later, the Doom engine was released under GPL also, a free license.

However, some popular source ports are still under DSL and continues to be a trap: I've personally witnessed a few hobbyists who built games under these source ports, planning to sell their work but later discovering that many months worth of work was wasted because of the DSL. The fact that Doom is also available under GPL contributed to this confusion. DSL is GPL-incompatible so converting from one to another is impossible.

This example shows a few possible dangers of releasing your project under a restrictive license first, then a less restrictive one later: if the more restrictive version persists, it can cause confusion to your project later on.

  • I think the fact that the OP will need to create their own public-source-restricted-use license, probably at some expense (i.e. lawyer fees), could be emphasised more. Although there might be a chance that such a license is itself available freely, it seems unlikely to me. – Neil Slater Sep 25 '15 at 8:55
  • The OP would also need a lawyer to sue anyone who violates the terms of said license (and most likely also to find the violators, unless they want to do that themselves). – Michael Schumacher Sep 25 '15 at 12:17
  • @MichaelSchumacher that applies to any license, open or not. – congusbongus Sep 25 '15 at 13:22
  • @congusbongus Thank you, you are informative. Do you recommend that I should publish the project without a license, then, after a certain date, I should publish the MPL as an example? – MRAN Sep 25 '15 at 18:47

Not the answer you're looking for? Browse other questions tagged or ask your own question.