I am starting a web API for my school and I was wondering what licence would be most appropriate?

The goal is to have an open source application that can be freely shared with other school but prohibits it's use for commercial applications (basically to protect from companies who make software for schools).

The application just manages tutoring assignments for tutors, students and the school administration.

I did find this link: "Free for academic use" license, but since it was 3 years old I thought it might be a good idea to ask again.


3 Answers 3


The open source definition does not allow discrimination against fields of endeavor, and you can't disallow commercial use if you want a license that meets the open source definition.

An option is to go copyleft, which ensures that anyone who distributes software based on that software must follow the same license. It's possible (though tricky) to do that commercially, but your software and any published derivative works by others remain open source, and free for others to use as well.

Well-known copyleft licenses are the GPL, AGPL, LGPL and MPL. Since you describe the project as web-based software, the AGPL might be suitable. This license requires people who let users interact with derivative software over the internet (for example through a web API) to publish their software under the AGPL as well.


The Open Source definition includes (point 5) "No Discrimination Against Persons or Groups" and (point 6) "No Discrimination Against Fields of Endeavor", so such a license wouldn't be open source. The Free Software Definition's Freedom 0 ("To run the program for any purpose", which includes for running a school o a company) covers this.

  • 2
    Not only against the spirit, also against the letter, even if educational or commercial use are not explicitly listed.
    – Martijn
    Nov 13, 2015 at 14:28
  • @Martijn, i do understand that it is forbidden as part of the 4 freedoms, but I can't put my finger on exactly where.
    – vonbrand
    Nov 13, 2015 at 18:53
  • 3
    Freedom 0: the freedom to run the program for any purpose - whether that purpose is to run a company or a school.
    – MadHatter
    Nov 15, 2015 at 7:09
  • @MadHatter, I stand corrected. Editing my answer.
    – vonbrand
    Nov 15, 2015 at 11:28
  • Well, you could try to construct something out of "if the program's users" - maybe there is a way for you to decide about who (or what) gets to be a user? Nov 16, 2015 at 15:28

A CC BY-NC-SA (Creative Commons Attribution-NonCommercial-ShareAlike) licence may work, because you want it to be as free as possible without allowing it to be commercial.

  • That is not "school only"...
    – vonbrand
    Nov 16, 2015 at 2:12
  • 1
    However, @superpat wanted something that "prohibits it's use for commercial applications", not necessarily just for school.
    – AccioBooks
    Nov 16, 2015 at 2:16
  • 3
    It's quite unclear what Non-Commercial actually means (which is a problem in itself), but under most interpretations, schools would not classify as non-commercial use.
    – Martijn
    Nov 16, 2015 at 11:08
  • 4
    @Zizouz212 what constitutes non-commercial use is not really defined, but check paragraph 3 of page 63 of mirrors.creativecommons.org/defining-noncommercial/… If I were a school, I wouldn't touch NC material.
    – Martijn
    Nov 16, 2015 at 21:58
  • 2
    @AccioBooks no problem. NC sounds great and all, but is really confusing, and rarely a good choice.
    – Martijn
    Nov 17, 2015 at 9:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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