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.

How do you track licenses for third-party libraries that you use in your software? How did you vet the licenses? Sometimes licenses change or libraries switch licenses--how do you stay up to date?

At the moment I've got an Excel spreadsheet with worksheets for third-party software, licenses, and the projects we use them on (organized like a relational database). It seems to work OK, but I think it will go out-of-date pretty quickly.

share|improve this question
2  
Licenses of software projects change very rarely, if ever. Licenses also are rarely revised and when they are, this doesn't automatically apply to all projects that used a previous version of the license. –  delnan Jun 23 '11 at 19:03
1  
The reason licenses don't often change is that - especially in open source projects - it requires the agreement of all Copyright holders. Linux, for example, will never be able to change its license, because several of the Copyright holders are dead and cannot agree to a license change. Commercial software is different, of course, since the license is at the behest of the company that commissioned it. –  greyfade Jun 23 '11 at 19:43
    
Hmm... the rights from those people who are dead usually vest in their estate, an executor could probably agree to a change. If they knew enough to be able to understand. Depending on country, the greyness of that area will vary. –  quickly_now Jun 24 '11 at 5:07
    
or one might kickout/replace the code of people who don't agree. While that might not be trivial. –  johannes Jul 24 '12 at 20:15
1  
@greyfade: I think it would be prudent for open-source projects to require all contributors to sign license or copyright assignment agreements. This gives the project the flexibility to make licensing changes without contacting individual contributors. I have discovered Project Harmoney, which makes it really easy to do this for FOSS projects. –  M. Dudley Oct 31 '12 at 19:53

2 Answers 2

up vote 1 down vote accepted

This is a great opportunity for cooperation between Engineering and Legal. All third-party software should be cleared by Legal prior to coding (or risk coding it out later... or worse); and while you're at it, let Legal track the licenses and how they're used!

Spreadsheets and databases work with small volumes, but they are not scalabe solutions. Many companies do a periodic code scan to audit third-party license use in their products, but this is much riskier and more expensive than tracking the info from the start. See this relevant white paper: http://www.ententesoftware.com/documents/PlanningVsScanning.pdf.

share|improve this answer

For your own stuff, well it's your own so handle it any way you want.

If you work for a company, this is what the legal department is for- do not attempt to do this yourself. Check in with them early (when you decide you want to use resource X), lest you discover at delivery time that you can't actually sell your product without going through a licensing process. People have lost their jobs for such accidents.

share|improve this answer
1  
If you rely on the legal dept, make sure you feed them all the relevant information. They are unlikely to have the know how to go searching - software licensing is a quite specialised area of law. –  quickly_now Jun 24 '11 at 5:09
    
@quickly_now: Agreed. I need to do all the legwork so that the legal department has the information it needs to make the decision. –  M. Dudley Jun 24 '11 at 11:52
    
You may also need to spend time with them explaining what/why/when/where/how, and answering lots of questions. But that's OK - every dealing I have had with lawyers in s/w and IP related issues has been a whole lot of fun, and you learn lots. –  quickly_now Jun 25 '11 at 4:39

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.