Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I want to release a software application developed by me as freeware and after I make considerable profits(from its commercial version), I'll release it as an open source.

So, could someone please suggest me how I can release my app under freeware license, from where I can get that license, suggest me the best way. (I don't know much about these governing laws).

I hope freeware license we can make it at free of cost. Please don't leave me by giving a set of vendors list, suggest me which one fits to my release. I don't have any specific terms or conditions that user has to obey while using that application.

Note: Till now I've not released it or discussed it any where else.

share|improve this question

closed as not constructive by Oded, gnat, Walter, Jarrod Roberson, Caleb May 1 '12 at 20:13

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

I hope there wont be any issues if I shift my application license type from freeware to open source at later stage. –  krishna Apr 30 '12 at 9:34
Is it a desktop or mobile app? –  eminemence Apr 30 '12 at 10:36
@eminemence its a desktop app, but internet is needed for its functionality –  krishna Apr 30 '12 at 10:37
You can have a commercial app which can be open source. Price it sensibly and you will get customers. And keep it open source to maintain the following as well as to get other developers to contribute to your app. –  eminemence Apr 30 '12 at 10:40
@eminemence Thnaks. My question is which license suits me as I dont 've anything in mind about to put any restrictions on the end user. So it w'd be great if you can tell me what fits and from where i can get(apply) that license. –  krishna Apr 30 '12 at 10:45

4 Answers 4

up vote 4 down vote accepted

One option would be to dual license your program using both a copyleft license (like the GNU GPL, or even GNU Affero GPL) and a proprietary one. If you're the author of all the code, you can relicense it at will, so one possible strategy could be:

  • Include some "premium" functionallity that is only available in the proprietary version;
  • As people start buying it and you get the revenue you want, start adding more and more of that premium content in the copyleft version. Meanwhile, continue working on new features that will go through the same process;
  • Eventually, you might release your program using also a copyfree license, such as the modified BSD or the MIT License. This will allow people to combine it with proprietary programs and redistribute the result, if they want. This step is optional, and makes more sense for libraries and such.

Having an open source version allows people to contribute back to your application. However, it's important to note that those contributions - since you're not the author or them - can not be licensed at will, they are restricted by the terms the contributor licensed them.

As for your question, unfortunatly I know no model for a proprietary license that you could follow. Just copying an existing license is unlawful in most countries (since the text of the license is subject to copyright as well), but you could read them and - based on your understanding and your particular needs - redact one yourself, maybe with the help of a lawyer.

share|improve this answer

Check out the following: http://en.wikipedia.org/wiki/Comparison_of_free_software_licences

Then start doing some more digging. :-) BSD, Apache, and IBM licenses are good options to start with for your requirements.

(L)GPL is NOT a good option in your case as you're obligated to release the source sooner than you intend.

Using multiple licenses is a complicated model, and I can't recommend it.

It's also worth noting that you can create a product, place a commercial-style license on the source, and still freely give away the binaries. For that matter, you can make up your own license model. If you generated all the code / own all the copyright to the code, then you can do with it as you wish including parting things out. If you make your own license, I would encourage consulting with an IP attorney in your area.

A copyright merely allows you to pursue damages if someone uses your creation in a manner that you did not approve. You are not obligated to pursue damages, although that can affect the rest of your copyright claim. A copyright does not come with an enforcement agency - it merely gives you the option to choose to enforce.

Another question was asked and I did some more digging within the GPL. This the answer I provided: http://programmers.stackexchange.com/a/147904/53019
I still can't recommend (L)GPL as a licensing model based upon the question's requirements, but GNU / FSF have specifically addressed the dual-license model in their FAQ.

share|improve this answer

You are allowed to switch to a different license during a products lifecycle. Many software products undergo such changes. Just choose the one which best fits your current needs and do that again when you'll switch to open source.

I suspect that, for now, the application is freeware and closed-source (because you say you'll release it as open-source later). In this case I recommend the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported license. It states that:

  • your software is free to use and distribute by anyone
  • it must not be used for commercial purposes
  • you must not alter it or build upon it (a.k.a. it's closed source)
  • the user must not claim ownership of the application
share|improve this answer
but I want to release a commercial version (by which user can use it for commercial purposes) parallely and do business with it at initial stages. –  krishna Apr 30 '12 at 10:39
@pbvamsi I think you can use multiple licenses. Like MySQL does: mysql.com/about/legal/licensing/index.html –  Radu Murzea Apr 30 '12 at 10:54

Kindly visit Free Software Foundation for GNU licensing.
For more information how to apply for license and to determine which category your license will fall visit the FAQ.

Kindly read the documentation of each of the available licenses, before applying for any of those. Cause if found faulty it will cost you dearly.

Speaking about Freeware it does not necessarily mean its free to use for anybody.
There are certain sub categories under freeware also e.g.

  1. You release a trial version of software.
  2. You release the source code but you restrict its redistribution.
  3. You restrict the modification of the code.
  4. You can redistribute it, but mentioning the original owners name and so on.
share|improve this answer
Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  Yannis Rizos Apr 30 '12 at 10:26
@shirish11 thanks :) I'll go through those references. –  krishna Apr 30 '12 at 10:42
@pbvamsi I would suggest you to go for GNU GPL license. Because it will help others to contribute towards your work and possibly do some bug fixing if any. –  Shirish11 Apr 30 '12 at 11:02
@Shirish11 GPL allows me to sell commercial version of it! –  krishna Apr 30 '12 at 11:14
@pbvamsi while releasing a commercial product you can apply for your own proprietary license (specifying your conditions for source code release) or choose from any of available non free licenses. Later when you want to release your product under GNU GPL (you can refer to the proprietary license clause) –  Shirish11 Apr 30 '12 at 11:32

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