Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Im working on a Java Software and there is a need to use some extern libraries. I found two relevant libs. The one is on an AGPL and the other on the MIT License. Now Im asking my self, can I use these libs if:

  • I would make a non-opensource-nonfree-software

or

  • I would make a non-opensource-free-software

I dont really understand the whole license stuff, could somebody tell me which one of the libs for what kind of software would be better? Thank you

share|improve this question
    
I removed the tag [java], since your question isn't about programming languages but about licensing. –  Andres F. May 28 '12 at 18:58
    
Ah ok, I just tought its maybe importan for a license what language im using. –  sabisabi May 28 '12 at 19:15

2 Answers 2

If you choose the AGPL licensed library, apparently you have no other choice than to relase your software as Open Source under the AGPL as well.
See these questions here at Programmers.SE for more information:

Of course you can't get binding legal advice from here, but the answers in the links above all sound pretty clear.

Given the fact that you have another available library to pick which is under the MIT license, this is a no-brainer: pick the MIT licensed library.

The MIT license is one of the most permissive open source licenses. As Andres F. already said in his answer, it allows basically everything.

Quote from Wikipedia:

It is a permissive free software license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms.

So you are allowed to use a MIT-licensed library in your software, no matter if your software is free / open source or not.


EDIT:

Concerning your question about GPL, see the GPL FAQ.
Quote from the link:

Does the GPL require that source code of modified versions be posted to the public?

The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.

But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.

Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.

Short version:

  • if you use GPL code privately, do what you want
  • if you ever release it in any form, it must be with source code and under the GPL
share|improve this answer
    
Ok thank you, now I got it. MIT License > (A)GPL :-) But another question -> GPL means: if you use a gpl lib your whole software has to be opesource AND free? And what if somebody would use a gpl lib for private stuff? –  sabisabi May 28 '12 at 20:24
    
I edited my answer, see above! –  Christian Specht May 28 '12 at 20:45

I think you can't go wrong with the MIT license, which is very permissive and pretty much allows you to do anything with the lib, as long as you include a copy of the license text. Your software can be closed-source and nonfree if you want.

I'm not sure about the Affero GPL, since I don't understand its provisions either. However, if its implications are like the GNU GPL's, then you cannot redistribute as nonfree, which wouldn't suit you.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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