FossologyNieuw

Versie1.4.1
Officiële websitehttp://www.fossology.org
LicentiemodelGPL v2
Behoort tot de domeinenOpen source licenties
Getest in juli 2011

Aanbevelingen

Open source governance is vooral voor bedrijven die commerciële software schrijven héél belangrijk. In het geval overheidssoftware zou gepubliceerd worden als open source software is het ook belangrijk te weten wat voor onderliggende licenties aanwezig zijn.

Fossology kan een ondersteuning bieden als governance tool bij het bouwen van software die gebaseerd is op open source software. De tool is echter beperkt in die mate dat er enkel licenties gedetecteerd worden als deze effectief aanwezig zijn in de code. Daarnaast komt er zowiezo heel wat manueel werk bij kijken om de resultaten te interpreteren en voor bestanden met ontbrekende licenties de licentie te gaan opzoeken op Internet. Er zijn ook geen mogelijkheden om bijvoorbeeld PDF rapporten te genereren.

De configuratie van Fossology dient door personen met een technische achtergrond te gebeuren. Daarna kan een niet-technische gebruiker er wel mee aan de slag zij het dat deze nog steeds wat technische ondersteuning zal nodig hebben.

De tool vormt dus slechts een klein onderdeel van het geheel aan governance maatregelen. Voor specifieke licentieissues zal je ook steeds moeten steunen op juridisch advies gezien Fossology hier geen hulp biedt.

Beschrijving

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. Er zijn massa’s open source softwarebibliotheken die gebruikt kunnen worden. Die softwarebibliotheken zijn onderhevig aan een licentie die bepaald gebruik van die bibliotheek wil aanmoedigen of ontmoedigen. 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 op deze pagina 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 produkten bieden een breed scala aan tools aan die code en softwarebibliotheken scannen op mogelijke issues bij het gebruik van open source software. Ze kunnen kopijen van softwarecode herkennen en detecteren de licentie die op bepaalde softwareonderdelen rust. Deze tools maken gebruik van databases gevuld met informatie over bestaande open source projecten.

Fossology is een open source software (van HP) die zich momenteel beperkt tot het licentie-aspect. Het laat toe om softwarepakketten te scannen op licentieteksten of fragmenten ervan. Daarnaast gaat het ook op zoek naar copyrightvermeldingen, emailadressen en URLs. Dit kan dan gebruikt worden om eventuele licentie- of copyrightissues met bepaalde softwarebibliotheken op te sporen. Fossology heeft een uitgebreide lijst van honderden licenties. Deze lijst is uitbreidbaar met eigen licenties.

Fossology werd getest op een Ubuntu Linux server. De documentatie laat soms wat te wensen over maar via de mailing list van krijg je snel antwoord op mogelijke problemen.

Via een web-interface heb je toegang tot het systeem. Je kan dan bestanden of archieven (zip, war, gz, rpm, …) opladen en deze laten verwerken door agents. Als agents kan je kiezen uit een licentie analyse (nomos agent), copyright/email/url-analyse en een bucket-analyse (om bestanden met specifieke issues op te sporen). Deze agents lopen als een job in het systeem. Je kan zo snel meerdere bestanden opladen en intussen worden de reeds opgeladen bestanden verwerkt.

Nadat de jobs zijn afgelopen kan je doorheen de structuur van het opgeladen bestand browsen zoals bijvoorbeeld bij een applicatiearchief of een zip. In dit overzicht kan je dan kiezen om de resultaten van de verschillende agents te bekijken.

In het licentieoverzicht krijg je de gevonden licenties en een folderstructuur te zien. Je kan dan rechtreeks springen naar bestanden met een bepaalde licentie of doorheen de structuur browsen om de resultaten per bestand te bekijken. In de onderstaande figuur zie je bijvoorbeeld dat er in de licentielijst een Affero-licentie voorkomt die een grote impact kan hebben op de andere code.

fossology

De buckets-analyse kan bepaalde taken vereenvoudigen door onmiddellijk bestanden op te sporen met een bepaalde licentie of naam. Het creëren van een bucket kan niet via de interface. Je dient hiervoor rechtstreeks in de databank te werken. De procedure wordt helemaal uitgelegd op de website van fossology en is redelijk eenvoudig toe te passen.

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.

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. Dit werd getest met toevoeging van een eenvoudige detectie van de Bouncy Castle licentie en de EUPL. Deze wijzigingen gingen met wat problemen gepaard maar uiteindelijk werden deze nieuwe licentietypes gedetecteerd.

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. Er worden ook enkel licenties gedetecteerd als deze effectief aanwezig zijn in de gescande code. Voor bestanden die geen licentie dragen moet er manueel worden uitgezocht wat voor licenties van toepassing zijn. Er ontbreken ook overzichten om bijvoorbeeld alle jar-bestanden weer te geven met hun licentie.

Heeft u opmerkingen of vragen over deze tekst? Laat het ons weten
Laatst gewijzigd op 30/11/2011