I'm looking for a license that should encourage changes to my original open source rather than encouraging forks and uncontrolled random redistribution. This is because of the nature of the code; it's just API definition (does not contain implementation of any kind) whose ultimate goal is precisely maintaining it consistent. I don't want to limit forks (I'll be using Github) but I want to make sure, if possible, that API stays a convention/standard. What are my options?

  • 6
    License is a document which is not meant to be a source of motivation (encouraging improvements), but rather a way to permit or deny something. You need something like manifesto or motivational speech to encourage people.
    – scriptin
    Commented Apr 12, 2015 at 22:11
  • I know. But maybe there was a way to formalize that into a license; I tried to ask...
    – Wes
    Commented Apr 12, 2015 at 22:23
  • 1
    The Artistic License was created to give the original creator some amount of “artistic control” over the project while still being free software. In practice it's only used for the perl interpreter and Perl modules as a dual license together with the GPL. However, it's not very well liked by most FLOSS supporters, and the GPL is a much more mature and reliable alternative. The reality is that most software doesn't get forked unless the creator stops maintaining the project or doesn't accept patches.
    – amon
    Commented Apr 12, 2015 at 23:00
  • 1
    This sounds like the history of Markdown...
    – h.j.k.
    Commented Apr 13, 2015 at 3:34
  • 1
    It might be possible if you placed the API and the implementation under two different licenses. E.g. the API under some license similar to CC BY-ND (only unmodified versions may be redistributed) for the API and headers, and BSD license for the implementation itself.
    – Ext3h
    Commented Apr 13, 2015 at 12:40