3

A software product (a web service) is being developed.

In essence, I want the software code to be hosted publicly on GitHub. Anyone should be able view, download, modify, use for personal use, and contribute back with improvements as they want, meaning most of the "open source" principles - but not all, as...

...Only I may make commercial usage of the software code.

But the more I search on the Internet, the more confused I get about this topic. According to me, this situation has to be a common desire by developers or organizations, but yet it seems hard to find a clear answer to exactly how an organization can achieve this.

I have a hard time believing that each person or organization has to call in a lawyer that writes a custom license each time, right? In other words, reinventing the wheel all the time.

Isn't there a straightforward, popular, or common license or license model that achieves this?

Perhaps "dual licensing" is the only way to achieve this? If so, are there any examples of GitHub projects that do this?

migrated from programmers.stackexchange.com Oct 16 '16 at 11:38

This question came from our site for professionals, academics, and students working within the systems development life cycle.

  • There are many legal contracts that are commonly used and where there's no free common template for it. Open Source licenses exist because some organisations are interested in specific values and if you don't share those values than you can't profit from them. – Christian Oct 16 '16 at 12:55
  • How many individuals have a need for web service? – paparazzo Oct 16 '16 at 12:57
  • 7
    I'm not sure that Law.SE is the best place for this. There is an OpenSource.SE that includes license recommendations as one of its core features. – Brythan Oct 16 '16 at 18:52
  • 3
    @Brythan There were two factors in the migration. First, it's not exclusively about open source licensing - in fact, any license that meets the required criteria would specifically be not an open source license. Second, Open Source is a Beta site and Law is not, and software licensing questions are on-topic on both, so unless there's a very good reason, migration should favor the graduated site over the beta site. – Thomas Owens Oct 16 '16 at 21:39
  • 1
    Defining "commercial use" is hard.... – Ian Ringrose Oct 17 '16 at 8:37
12

You're not going to find an OSI-approved or FSF-approved license that meets your needs because these licenses comply with the OSI definition or FSF definition of open-source software, and your requirements don't.

Looking at your requirements, it looks like you want a license where users can modify the software and use it for private use, but cannot use it for commercial use. I ran a search on TL;DR Legal to see what licenses match. There are some one-off licenses that appear to be written by individuals or groups or written by companies that explicitly call out a particular software package. One appears to be a modification of the Apache License. I wouldn't recommend simply using one of these without not only reading them thoroughly yourself, but also consulting a lawyer - just because they started with a license that is trusted doesn't mean that a change they made didn't cause problems if it were to be challenged.

For a project hosted on GitHub, it doesn't need to be open-source. You can upload a project that is all rights reserved, but by using GitHub, you do need to allow others to view and fork your repository. However, I wouldn't expect many outside contributors. Why should I give you my hard work if you're just going to turn around and make money on it? That's essentially free labor.

I'm not aware of any listing of vetted licenses that are designed for commercial use of software, like how the OSI and FSF maintain lists of licenses. There is a Binpress license generator, but again, it's not a vetted license. How much stake you put into license generator or some random license you find on the Internet is up to you and the level of risk that you find acceptable.

If you want to make money on your open-source software, you may want to rethink your approach.

In my experience, I've usually seen dual licensing achieve this. One license is a custom written commercial license while the other is a very strong copyleft license, like GPL or AGPL (depending on how you intend your software to be used), which forces companies to also open-source their software if they use yours. It doesn't explicitly prevent commercial usage, but many companies will either look for an alternative that has a more permissive license or purchase the commercial license to prevent their software from being required to be open-source as well.

You may also be interested in questions on Open Source about how to monetize open-source projects. There are options out there - selling support and maintenance or related services or selling additional documentation or examples. Under this model, all of your software is free and open source under any of the well-known open-source software licenses, but you make money supporting users of the software.

2

@Thomas Owens already explained that your license is not a FOSS license because non-commercial is an incompatible restriction.

But note that while it isn't recommended to use them for software, creative commons has non-commercial licenses.

As you want to use a license that doesn't allow commercial use and do the commercial use yourself: this is a dual license situation if the commercial use is along the lines of having customers who buy the software: they need a license as well, and they'll naturally want to have something in addition to the free-to-use version.

A dual licensing strategy with a similar non-commercial software license plus you selling the commercial license could meet your needs.

Note however,

  • that dual licensing has a bad taste at least to part of the FOSS community - you probably need to strike a very delicate balance between asking for contributions and exploiting the result commercially.
  • "commercial" has different meanings in different legislations. E.g. in Germany, courts have decided that a private web page becomes commercial as soon paid ads ads are put on it - even if the income through those ads is negligible. The non-commercial CC licenses are therefore considered to be difficult in the sense that they may not exactly do what you (or your user) thinks it does, and they may scare eligible users away because they are not sure.

  • Similarly, while you may have an idea what you'd call private use, it may be much more difficult to define this in a legally sound way. E.g. I'm researcher, and also privately interested in similar questions. E.g. I answer on SE-sites. Is that private use? Or is it marketing of my professional skills and thus commercial? Can the very same use far outside working hours be private if I'm an employee but commercial if I'm freelancer? Depending on the type of software, this gray zone may be a large part of your users.


I have a hard time believing that each person or organization has to call in a lawyer that writes a custom license each time, right? With other words, reinventing the wheel all the time.

You are not required to hire a lawyer to get a license text - you could even write it yourself. More to the point, you can buy model contracts (even with explanations) for all kinds of purposes, including for selling/licensing software. These often have choices where you just tick and fill in the options you need.

Somewhat naturally however, you typically have to buy commercial model license texts whereas the FOSS crowd has made their licenses freely available.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy