I'm newbie in Open Source. In the near future I plan to publish to GitHub my web framework based on ECMA(JScript)/XSLT based on IIS hosting.

In plans to make the repository as public. So that I can share my codebase with everyone. So that everyone can copy/fork/modify the code and documentation. So that everyone can build their own fork (based on my), with subsequent sale based on their solutions.

I will clarify that I need a suitable license for any forks, changes, modifications and including in solutions, including commercial ones, but without a cash back to my as author - I don't need that.

But it is important that the modified code will be posted as public (open source), preferably with an indication of the original source on which it was based (the author of the idea or a resource with the code).

But I'm completely confused about which license to choose for this (full open for everyone)?

What is the best fit for this: GPL(v2 or v3), BSD, APACHE(1.1 or 2.0) or MIT?

  • 4
    Every license is suitable. The question has to be asked reverse: what do you want to allow - that's what a license clarifies. There's the strong copyleft ones (GPL) which ensure that every code making use of it, needs to follow that license, too. There's the weaker ones which allow that derivatives and even modifications when distributed binary need not disclose their sources. – planetmaker Aug 4 at 12:29
  • @planetmaker I added details about: I need to select suitable licence allowing any uses of my code, also for commercial use, without cash back to me as author. – timnavigate Aug 4 at 13:17
  • 1
    Open source implies that the other people can do with the code whatever business or task they want, commercial or not, terrorist or charitable. Every license allows that - otherwise it's not open source. The differences are in the the way source code of derived work has to be disclosed or not and how free people are with the choice of license for derivatives. – planetmaker Aug 4 at 13:31
  • In order to give you a few questions: do you want to require that others are as giving as you, thus share the code they build on your software? Do you care whether someone takes your code modifes it and sell the code without sharing any code (effectively taking your work and making money with it without giving anything back)? – planetmaker Aug 4 at 18:01
  • 1
    If you want modifications to remain open-source, you need a copyleft license like the AGPL, GPL or LGPL. Then, anyone wo wants to distribute a copy of your framework, will also need to provide the source code (and copyright information) along with it. The AGPL is the most restrictive, because even providing access to a web service based on your framework would be considered distribution, whereas for the other two it would not. – Felix G Aug 5 at 7:20