views:

39

answers:

2

Hi

I'm about to release some software as open source. It uses Lucene (Apache license) and jopt simple (MIT license). Are there any constraints on the license that I am going to apply to my own software?

In particular, it is an adaptation of Lucene for performing content-based search on audio (so, many classes are inherited and in one case copied with a little modification). It only uses jopt simple for handling command line arguments (i.e. no modification at all, just "import" and "new OptionParser...").

Thanks for your help

Nicola Montecchio

+1  A: 

Well, dealing with jopt is easy. The MIT license is 'permissive' - similar to the BSD licence. The Software Freedom Law Center has a useful document and it sounds like your use of jopt is covered by section 2.1:

The simplest case of notice preservation is unmodified incorporation of a permissive-licensed file from an external project into a GPL’d project without making changes to the code in the file itself. Here the developer should simply leave the file with all notices intact...

And the same rule applies to whatever licence you choose to use. So no constraint from that end.

The Apache license is also permissive, so the fact that you code includes a modified version of Lucene also doesn't constrain your choice of licence. You could licence the whole application under the GPL or even have a commercial licence. One thing you may want to think about is the possibility of your changes to Lucene being merged back upstream. If you want this to be a possible you'll need to licence your changes under the Apache licence - you may want to duel licence those modifications. The link above should help.

Andrew Walker
thanks! i'll have a look at the document you refer to
Nicola Montecchio
A: 

Any part of the work that is your own original work can be licensed however you like, including derived parts like the copied and modified classes. Neither the Apache license nor the MIT license are "copyleft" (copyleft licenses like the GPL would require derivative works to be licensed in the same license).

However, you should include original licenses and copyright statements for both jopt and lucene. Just make sure it's clear where all the code came from and which part is under which license -- e.g. apache for lucene, MIT for jopt. It's good form to put comments in copied classes indicating where they were copied from.

Fortunately, for Apache and MIT licenses, this stuff is pretty easy.