I have recently learned about several cool open source add-on tools and libraries for Microsoft Visual Studio. The tools just help you be more productive; the libraries would get linked into the corporate code base.

I have listed all these cool tools and libraries on a spreadsheet and I'm going to run down the type of license each one is under. So far, amongst my cool libraries, I see MIT, BSD, Apache License Version 2.0. However, there could be more in the future.

How can I find out (or better yet, can you just list) the popular licenses which are NOT compatible with internal corporate use (not to be distributed outside the company)? And for an extra thank you, can you say or point to an explanation. I'm not a lawyer and reading the fine print of these licenses gives me a headache.

I want to be prepared to explain why using the allowable licenses is OK.

closed as primarily opinion-based by Basile Starynkevitch, user53019, durron597, Thomas Owens Mar 30 '15 at 17:41

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 5
    You would really want to take this up with someone from your company. As a general principle, using anything GPL in proprietary software is a violation. The GPL license is viral, which means if your company uses GPL-licensed code, they essentially have to open-source the entire project. Most open-source licenses are not viral, though. Some, like the Mozilla Public License, require you to freely publish changes you make to the MPL codebase itself, but that requirement doesn't carry over to your own code. But this is really too broad of a question to easily answer here. – Mason Wheeler Mar 28 '15 at 0:35
  • 22
    @MasonWheeler: Provisions like copyleft are all about distribution; if the program is only ever going to be used internally, it doesn't matter. – Robert Harvey Mar 28 '15 at 0:42
  • 2
    @toddmo: seems Mason Wheeler when writing about GPL ignored completely the part "not to be distributed outside the company" of your question? See stackoverflow.com/questions/1492687/… – Doc Brown Mar 28 '15 at 4:18
  • 3
    Even Richard Stallman himself says all the time that if you use GPL software and don't distribute it, you don't have to contribute anything. But always read the license. Especially the shorter licenses are not THAT hard to read. If you can read computer code, come on, you can read these licenses. – Brandin Mar 28 '15 at 19:40
  • 2
    @BasileStarynkevitch Questions about licenses from the perspective of a software developer (Eg. usage, which license, understanding, etc..) are ON topic, as long as they are not asking for special legal advice. My impression is that this question is ok as the OP is looking for guidance on selecting an appropriate license for software that he is working on. – maple_shaft Mar 29 '15 at 23:33

In general, the legalities in licensing that can occur as a result of the use of open-source software boil down to two factors:

  1. Commercial use, and
  2. Distribution.

Distribution means "conferring" software to a third party outside the organization. Since you say you only use the software internally, legal mechanisms like "copyleft" (the term used for the viral portion of the GPL license) probably don't apply to your organization.

Commercial use (or other arbitrary restrictions) are a different matter. Simply read the license carefully, and determine if any of those restrictions apply to your organization. In particular, permissive licenses such as Apache, MIT and BSD have few, if any, restrictive conditions; these licenses are ideal for "internal use."

It sounds like your company is reluctant to use open-source software. Many companies believe that they must completely own their software and other intellectual property, and so they have policies that state that their own developers must write every line of code. Clarifying the meaning of open-source licenses will not necessarily change their minds.

  • 2
    None of those three licenses have any specific restrictions that would prevent your company from using them freely in a company-internal context. They are all considered "permissive" licenses. – Robert Harvey Mar 28 '15 at 2:06
  • 3
    Most companies simply won't touch "copyleft" licenses, and for good reason; it's borderline impossible to perfectly "quarantine" a system and ensure that nothing ever indirectly touches the GPL/AGPLed code. Some apparently "permissive" licenses like WTFPL are no help either, because they're too vague on important legal issues like copyright. Even if you think you could successfully defend against a lawsuit, do you really want to go through that? (Hint: Your lawyercats probably don't.) Stick to Apache and MIT. I think BSD is also OK. – Aaronaught Mar 28 '15 at 9:42
  • 1
    @Aaronaught Do you have any generally respected source that supports your claim that the WTFPL is vague wrt copyright? The FSF accepts it as GPL-compatible. The major Linux distributions accept it as free. I can find a claim that the OSI rejected it as too vague, but this is false, the OSI rejected it as redundant, as a quick Google search for "wtfpl osi" will confirm. I can think of issues with the WTFPL, sure, but when it comes to copyrights, vagueness is not one of those issues. – hvd Mar 28 '15 at 13:01
  • 2
    @hvd: It may shock you to know that corporate lawyers don't really care about things like "free" or "unfree". They care about "can we use this without getting sued?". Have you actually read the WTFPL? It tells you nothing. Read section 2 of the Apache License to see what a proper copyright clause looks like. The WTFPL neither explicitly grants a copyright license, nor does it make said license irrevocable. You don't need to read the FSF's evaluation - just look at the license yourself! – Aaronaught Mar 28 '15 at 17:38
  • 2
    We're still talking about this? – Robert Harvey Mar 28 '15 at 17:39

There are some things to be aware off: First, your company lawyers may get a fit if you use third party code without asking them. So you shouldn't use any third party code without telling your boss or manager and getting their consent. As you said, you are not a lawyer.

Second, a nasty one: If you find code on the internet, and it has some license, you don't know where it comes from. You don't know if the person who added the license actually had the right to do so.

Third, for GPL license and internal use: Things that are for internal use today may not stay for internal use. You might have written some really nice software for internal use, and your company might decide to make some money off it by selling it. And then you might have a problem.

  • In your second example, that would be someone else's problem – whatsisname Mar 28 '15 at 6:40
  • 4
    @whatsisname Tell that to the original author when she sues you. – sapi Mar 28 '15 at 10:18
  • @whatsisname If A wrote the software and holds the copyrights, B distributes it under some license without permission, and C get the software from B and uses and perhaps modifies or redistributes it, then if A catches C doing so, A has no obligation, moral or legal, to go after B. A may not even be aware of B. C is the one caught using, modifying, redistributing, so C is the one who has to stop and pay damages. There is no way in hell that C will be allowed to continue. At best, C can then go after B in court, but that's only if C can actually find B. Good luck if it's some guy in e.g. China. – hvd Mar 28 '15 at 13:12
  • The situation in paragraph 2 is always a possiblity. Suppose you purchase a commercial source library with the license to use that closed source linked in your code. How do you really know that the company that sold you that software legally has a right to it? – Brandin Mar 28 '15 at 19:49
  • 1
    Paragraph two is the most dangerous. I personally ran into this myself when a developer mention that a bit of code was "something he found on some site somewhere" fairly close to release. Not fun. Lesson #412 in "why you should code review everything". – Steven Burnap Mar 28 '15 at 20:17

This depends a lot on context.

If you want to use any open source software you are free to.

If you want to use any open source software for the basis of internal company projects then you are also free to ( since the more contagious licences like the gpl require you to provide the source code upon request to all who the compiled code is distributed to, if it's a internal application then this is a non issue )

If you want to used open source software for the basis of a product then you have to follow the licence carefully ( get your company lawyers involved for this ) and if the licence is infectious then you may have to make your source code available to all those who receive the compiled code . In some cases this is acceptable ( for example writing a custom product for a single customer who owns the source code anyway ) in others this is not ( for example a product which is sold to the general public with a "trial" version available for anyone )

But to answer your question directly lgpl and gpl are perfectly fine for internal corporate use.

Since I can download nedit, or gnu, change it to my hearts content without the need to make my code public, and then use it myself there is no difference to me doing so for my employers own internal use.

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