10

I have some code which I would like to open source it (as part of the private repository), however the access should be limited only to the memberships who paid the access fee. Is it going to work? Which license can I use?

Then can I protect from the unauthorised publishing of my code? Should all the people who have access to it sign the non-disclosure agreement, or accepting the specific licence should cover that as part of the purchase access procedure?

10

There is a precedent; the unreal engine.

Some time ago for a monthly fee and a percentage of your revenue you could use it and have access to the source and discuss it freely between other paying members. It wasn't open source (still isn't) but popular enough that they dropped the monthly fee.

In their FAQ it says:

What modifications can I make to the source code?

You can extend it, modify it, fork it, or integrate it with other software or libraries, with one exception: You can’t combine the Unreal Engine code with code covered by a “Copyleft” license agreement which would directly or indirectly require the Unreal Engine to be governed by terms other than the EULA.

  • Unacceptable Copyleft licenses include: Software licensed under the GNU General Public License (GPL), Lesser GPL (LGPL) (unless you are merely dynamically linking a shared library), or Creative Commons Attribution-ShareAlike License.
  • Acceptable Non-Copyleft licenses include: Software licensed under the BSD License, MIT License, Microsoft Public License, or Apache License.

Can I share the Unreal Engine source code or tools with others?

You can share the source code or tools, along with any modifications you’ve made, with anyone who is an Unreal Engine licensee who is authorized to access the same version of the engine as yours, e.g. the 4.x.x version number of your installed build.

I would call such a setup a source available license rather than a open source license.

You can find the EULA here if you want to base your own license on it. (I suggest you consult a lawyer though)

6

Assumming you release your source under an open source license, basically no.

The Open Source Definition and Free Software Definition both demand that source code is accessible to everyone who gets distributed a binary. That source might be distributed with the binary, easily accessible on the web (and the binary contains a pointer to this position), or on request the source code is sent to the requester. The last option can ask for money for mailing it, but not more. That last one is pretty restrictive already today.

If you do not distribute much of the binaries (because you have a webservice for example), you can restrict it more. For everyone who don't get the binaries, you can charge for access to the source as you want it.

But in each case there is a catch: Everyone who gets hold of the source code is allowed to redistribute it under the terms of the open source license you've choosen. That basically undermines your business model of charging for access to the code. If you want this business model, you don't want open source.

  • 2
    It should be noted that you can technically send the source code with the binary and forbid anyone from redistributing it in whole or in parts, it just won't qualify as Open Source. – overactor Jul 4 '15 at 11:15
  • 1
    Yes, based on the question (can i open source the code) I analyzed it under the premise of the code being open source. At the end I say, that he can do what he wants, if he gives up on the code being open source. – Mnementh Jul 4 '15 at 11:16
  • You should mention that you're talking about the GPL (or similar) license. You mention being required to redistribute the code along with binaries, but many other FLOSS licenses make no such restriction on the user, such as the MIT license. – RubberDuck Feb 12 '17 at 12:19
0

You'll have to define your own license to do that, as you won't be able to use a popular FOSS license like GPL. GPL (both v2 and v3) specifically forbids you to charge more for source code distribution than you charge for binary distribution:

You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:

...

d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge.

This is reiterated in their FAQ:

Does the GPL allow me to charge a fee for downloading the program from my distribution site?

Yes. You can charge any fee you wish for distributing a copy of the program. If you distribute binaries by download, you must provide “equivalent access” to download the source—therefore, the fee to download source may not be greater than the fee to download the binary.

Your Answer

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

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