Softwareprojecten steunen in de meeste gevallen op softwarebibliotheken van derden. Denk maar aan de vele jars die Java-programmeurs tot hun beschikking hebben om software te schrijven. Die softwarebibliotheken zijn onderhevig aan een licentie. De licenties op bibliotheken met de meeste impact op de geproduceerde software zijn copyleft licenties zoals GPL. Die verplichten dat de geproduceerde software ook onderhevig is aan dezelfde licentie, in dit geval de volledige opening van de broncode. Een uitgebreide discussie over de verschillende open source licenties valt hier buiten scope en wordt hier meer toegelicht.
Onder de noemer Open Source Governance zijn er een aantal commerciële tools op de markt zoals Black Duck Software, Palamida, OpenLogic en Sonatype. Deze tools bieden een breed scala aan tools aan die code en software bibliotheken scannen op mogelijke issues bij het gebruik van open source software. Dit gaat van het herkennen van kopijen van softwarecode tot het detecteren van de licentie die op bepaalde softwareonderdelen rust.
Fossology is een open source software (van HP) die zich momenteel beperkt tot het laatste aspect. Het laat toe om softwarepakketten te scannen op licentieteksten of fragmenten ervan. Daarnaast gaat het ook op zoek naar copyright vermeldingen, emailadressen en URLs. Dit kan dan gebruikt worden om eventuele licentie- of copyrightissues met bepaalde softwarebibliotheken op te sporen. De tool wijst echter niet op specifieke licentie-issues, het lijst de licenties enkel op.
Fossology 1.4.1 werd kort getest en gebruikt voor een reëel project.
Een gebruiker kan via een web-interface bestanden of archieven (zip, war, gz, rpm, …) opladen en deze laten verwerken door agents. Als agents kan je kiezen uit een licentie analyse (Nomos), copyright/email/url-analyse en een bucket-analyse (om bestanden met specifieke issues op te sporen).
Het licentieoverzicht toont de gevonden licenties en een folderstructuur. In de figuur zie je bijvoorbeeld dat er in de licentielijst een Affero-licentie voorkomt die een grote impact kan hebben op de andere code.
Via de copyright/email/url-agent krijg je een overzicht van alle copyright statements, e-mail-adressen en urls die voorkomen in de code. Dit vormt echter al snel een lange onoverzichtelijke lijst.
Fossology heeft een uitgebreide lijst van honderden licenties. Indien er licentietypes ontbreken kan je deze toevoegen aan de tool, zij het dat dit een zeer technische taak is. Er dient hiervoor code aangepast te worden en de nomos agent moet opnieuw gecompileerd worden.
Deze testen toonden aan dat de tool zeker een hulp is bij het opsporen van licenties in softwarepakketten. Het is echter een zeer technische tool en er ontbreken enkele overzichten (bijv. alle jar files met hun licentie) en een rapportgenerator. Er worden ook enkel licenties gedetecteerd als deze effectief aanwezig zijn. Voor bestanden die geen licentie dragen moet er manueel worden uitgezocht wat voor licenties van toepassing zijn. De uiteindelijke resultaten van de analyse is zowiezo voer voor juristen die moeten nagaan of er geen mogelijke licentie-issues zijn.
Kortom, de tool is bruikbaar voor een ruwe licentiescan. Er is dan nog heel wat manueel werk nodig om de resultaten te verwerken en te interpreteren.
Leave a Reply