

Ask HN: Making source code avaliable for commercial software - olavk

I develop a piece of commercial software. It is free for non-commercial use.<p>I distribute binaries, but many users have expressed interest in having the source code available. I would like that, and think it would be great if users could modify the source and distribute changes, as long as it wouldn't undermine the commercial sales (since this is what is financing the development).<p>I guess this rules out a "true" OSS license, but I would prefer using an off-the-shelf license if possible.<p>Some have recommended a CC non-commercial license, but CC themselves discourage using their licenses for software.<p>Does any HN'ers have experience with this issue? Under what licenses do you distribute your sources in commercial startups?
======
diminium
I'm not sure but Microsoft has a reference license of some type you probably
could copy. The license restricts any modification of the code to internal use
and is based upon the original source.

If you can't find anything else, this could be a good starting poing?

------
rgacote
The commercial software community that grew up around the Borland (now
Embarcadero) Delphi development tool is a good language. This was a component-
environment. Typically pay one price for the component and a higher price for
the sources. Lots of commercial products that distributed source code. Delphi
itself distributes source to the entire framework. Might be a good place to
look at licenses.

<http://www.embarcadero.com/products/delphi>

------
dkersten
Can you release it under a dual license? GPL for open source GPL code (or
perhaps a custom GPL-like license that does not allow commercial
redistribution) and commercial license (with support etc) for commercial use?
This is more or less how other open source based companies operate.

This means that non-commercial users get to make changes and distribute them
for free and commercial users may not redistribute it.

~~~
olavk
The problem (if I understand the issues correctly) is that the GPL does not
allow restrictions on use, like only allowing non-commercial use.

I understand I need some kind of dual-licensing, but I was hoping to be able
to use two existing licenses, rater than creating my own. But maybe the
combination of charging for the software and available source is uncommon?

~~~
dkersten
As the copyright holder you can release under modified version of licenses, so
you could use GPL with an additional restriction of disallowing commercial
use. I guess the open soruce licenses from companies like Microsoft work
something like that (except without being directly based on the GPL).

Well, the commercial license will always be something proprietary (since I'm
not sure there are existing licenses you can take verbatim) and for the open
source portion you basically want to give people free reign for non-commercial
use, but restrict commercial use.

------
JoachimSchipper
"Non-commercial" is apparently a huge can of worms. You could try something
along the lines of "if you distribute binaries, you must do so under an OSI-
approved license" (or pay for a "commercial" license, obviously). This isn't
perfect (people could use your compiler to compile serverside software "for
free"), but at least it's unambiguous.

------
Yxven
I don't know what your application does, but have you considered a plugin api?

~~~
olavk
It's a compiler. There are some extension points where a well-documented
plugin-API would be a boon in any case, but users might want to modify the
product on a number of levels. Even with some plugin-API's it would still be
nice to be able to make the source available.

