23
Hva er fri programvare? Magnus Enger libriotech.no

Hva er fri programvare? (2011)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Hva er fri programvare? (2011)

Hva er fri programvare?

Magnus Engerlibriotech.no

Page 2: Hva er fri programvare? (2011)

Hva er fri programvare?

Det er ihvertfall ikke noe nytt - i begynnelsen var all programvare fri

Men fri programvare slik vi kjenner den i dag er utenkelig uten Internett og Verdensveven

Det er heller ikke noe sært eller marginalt Apache kjører på 60-70% av alle verdens vevtjenereInternett er stort sett tuftet på fri programvareStore firma som Google og Amazon (og mange, mange flere) kjører på fri programvareIBM satte for noen år siden av USD 1 milliard til å satse på fri programvare

Page 3: Hva er fri programvare? (2011)

Hva er fri programvare?

En utviklingsmetodeEn økonomisk "modell"Juss (basert på copyright)Det motsatte av "proprietær" eller "lukket" programvare"Community", dugnad og spleiselag

Page 4: Hva er fri programvare? (2011)

"Free software" - to betydninger av free

"Free as in beer""Free as in speech", "free as in freedom"Begrepet "open source" oppstod som et forsøk på å avklare disse forskjellene Det samme gjorde "Free as in kittens"...

På norsk og dansk har vi et greit skille mellom "gratis" og "fri" Fri programvare er fri, men den er ikke nødvendigvis gratis

Page 5: Hva er fri programvare? (2011)

Hva er kildekode? sub AddBiblio { my $record = shift; my $frameworkcode = shift; my $options = @_ ? shift : undef; my $defer_marc_save = 0; if (defined $options and exists $options->{'defer_marc_save'} and $options->{'defer_marc_save'}) { $defer_marc_save = 1; }

my ($biblionumber,$biblioitemnumber,$error); my $dbh = C4::Context->dbh; # transform the data into koha-table style data my $olddata = TransformMarcToKoha( $dbh, $record, $frameworkcode ); ($biblionumber,$error) = _koha_add_biblio( $dbh, $olddata, $frameworkcode ); $olddata->{'biblionumber'} = $biblionumber; ($biblioitemnumber,$error) = _koha_add_biblioitem( $dbh, $olddata );

_koha_marc_update_bib_ids($record, $frameworkcode, $biblionumber, $biblioitemnumber);

# update MARC subfield that stores biblioitems.cn_sort _koha_marc_update_biblioitem_cn_sort($record, $olddata, $frameworkcode); # now add the record ModBiblioMarc( $record, $biblionumber, $frameworkcode ) unless $defer_marc_save; logaction("CATALOGUING", "ADD", $biblionumber, "biblio") if C4::Context->preference("CataloguingLog"); return ( $biblionumber, $biblioitemnumber );}

Page 6: Hva er fri programvare? (2011)

Hva er kildekode?

To typer programvare:

1. Kildekode -> "kompilering" -> kjørbar fil (".exe")

2. Kjørbar kildekode (skript) Fri programvare krever at brukeren skal ha tilgang til kildekoden! Dette i motsetning til "freeware" og "shareware"...

Page 7: Hva er fri programvare? (2011)

Fri programvare - fire friheter

Frihet 0: Friheten til å kjøre programmet uansett hensikt

Frihet 1: Friheten til å studere hvordan programmet virker og tilpasse det til sine behov

Frihet 2: Friheten til å distribuere kopier for å hjelpe andre

Frihet 3: Friheten til å forbedre programmet og gi det ut med sine forbedringer til offentlig eie, slik at hele samfunnet kan få utbytte

(Fra The Free Software Definition, oversettelse fra Wikipedia.)

Page 8: Hva er fri programvare? (2011)

Åpen kildekode - 10 punkter

1. Free Redistribution

2. Source Code

3. Derived Works

4. Integrity of The Author's Source Code

5. No Discrimination Against Persons or Groups

(The Open Source Definition)

6. No Discrimination Against Fields of Endeavor

7. Distribution of License

8. License Must Not Be Specific to a Product

9. License Must Not Restrict Other Software

10. License Must Be Technology-Neutral

Page 9: Hva er fri programvare? (2011)

"Open Source Initiative" anerkjenner...Academic Free License 3.0 (AFL 3.0) - Affero GNU Public License - Adaptive Public License - Apache License, 2.0 - Apple Public Source License - Artistic license 2.0 - Attribution Assurance Licenses - New and Simplified BSD licenses - Boost Software License (BSL1.0) - Computer Associates Trusted Open Source License 1.1 - Common Development and Distribution License - Common Public Attribution License 1.0 (CPAL) - CUA Office Public License Version 1.0 - EU DataGrid Software License - Eclipse Public License - Educational Community License, Version 2.0 - Eiffel Forum License V2.0 - Entessa Public License - European Union Public License (link to every language's version on their site) - Fair License - Frameworx License - GNU General Public License (GPL) - GNU General Public License version 3.0 (GPLv3) - GNU Library or "Lesser" General Public License (LGPL) - GNU Library or "Lesser" General Public License version 3.0 (LGPLv3) - Historical Permission Notice and Disclaimer - IBM Public License - IPA Font License - ISC License - Lucent Public License Version 1.02 - MirOS Licence - Microsoft Public License (Ms-PL) - Microsoft Reciprocal License (Ms-RL) - MIT license - Motosoto License - Mozilla Public License 1.1 (MPL) - Multics License - NASA Open Source Agreement 1.3 - NTP License - Naumen Public License - Nethack General Public License - Nokia Open Source License - Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0) - OCLC Research Public License 2.0 - Open Font License 1.1 (OFL 1.1) - Open Group Test Suite License - Open Software License 3.0 (OSL 3.0) - PHP License - Python license (CNRI Python License) - Python Software Foundation License - Qt Public License (QPL) - RealNetworks Public Source License V1.0 - Reciprocal Public License 1.5 (RPL1.5) - Ricoh Source Code Public License - Simple Public License 2.0 - Sleepycat License - Sun Public License - Sybase Open Watcom Public License 1.0 - University of Illinois/NCSA Open Source License - Vovida Software License v. 1.0 - W3C License - wxWindows Library License - X.Net License - Zope Public License - zlib/libpng license

(OSI: Licences by Name)

Page 10: Hva er fri programvare? (2011)

To hovedtyper lisenser

Lisensene er basert på copyright - opphavspersonen benytter seg av sin rett til å gi andre visse rettigheter, på visse vilkår GPL-typen

Krever at endringer som skal distribueres må distribueres under samme lisens som den originale kodenOmtales ofte som en "viral" (virus-aktig) lisens - hvis GPL-kode blandes med ikke-GPL-kode må resultatet gjøres tilgjengelig under GPL

BSD-typenLegger veldig få føringer på distribusjon av endringer - endringer kan distribueres uten at det gis tilgang til kildekoden

Page 11: Hva er fri programvare? (2011)

Hvordan (og hvorfor) fungerer fri programvare?

Page 12: Hva er fri programvare? (2011)

Mange ulike typer prosjekter

En enkelt entusiast Mottar bidrag utenfraMottar ikke bidrag utenfra

Ett firmaMottar bidrag utenfraMottar ikke bidrag utenfra

"Community" med mange bidragsytereValgte rollerFaste retningslinjer for bidrag

Page 13: Hva er fri programvare? (2011)

Hvordan kan programvare være gratis? Noe arbeid utføres gratis

Fordi det er gøyFordi det gir statusFordi det øker sjansene for å få en jobb

Men det meste arbeidet utføres mot betalingav "leverandører" (firma, freelance konsulenter)

som lever av å selge tjenesterutviklinginstallasjon, migrasjonvedlikehold"hosting"opplæring

av "brukere" (feks bibliotek) som har den nødvendige kompetansen selv

Page 14: Hva er fri programvare? (2011)

Hvordan kan programvare være gratis?

Leverandørene tar seg betalt en gang for å utvikle en "feature" Deretter blir den tilgjengelig for alle

Motto

"Scratch your own itch"

Page 15: Hva er fri programvare? (2011)

Fri programvare og leverandørene

Fri programvare bryter ned 1-til-1-forholdet mellom programvare og leverandørÉn programvare kan ha flere leverandørerMan kan bytte leverandør uten å bytte programvare Leverandørene må konkurrere på tjeneste-kvalitet

Oppe-tid, brukerstøtte, opplæring osvMan trenger ikke nødvendigvis et løpende forhold til en leverandør

Kan betale noen for å installere...og leie inn andre til å gjøre ting ved behov

oppgraderingutviklingfeilretting

Page 16: Hva er fri programvare? (2011)

Fallgruver

(Særlig ved "hostede" løsninger, SaaS)

Man må være sikker på at man har tilgang til den faktiske kildekoden og til data, til en hver tid...ellers mister man friheten til å velge leverandør

"Basert på fri programvare" er ikke nok - kildekoden og alle tilpasninger må være tilgjengelig

Page 17: Hva er fri programvare? (2011)

Hva med kvalitetskontroll?

...når "alle kan bidra"...

Systemer for kvalitetskontroll"Release manager" som bestemmer hva som skal med i den offisielle versjonenGjerne noen som bedriver QA - Quality Assurance

Motto

"Release early, release often""Given enough eyeballs, all bugs are shallow"

Page 18: Hva er fri programvare? (2011)

Hva med sikkerhet?

Joda, slemmingene har full tilgang til kildekoden, de også, og kan lete etter svakheter de kan utnytteMen det kan "the good guys" ogsåKoker kanskje ned til om man mener at mennesket er grunnleggende godt eller grunnleggende ondt?"Security through obscurity" er ikke en god ide

Page 19: Hva er fri programvare? (2011)

Suksessfaktorer

At mange nok bidrar med noeTid til utvikling Penger til utviklingTesting og feilrapporteringSkriving av dokumentasjonÅ svare på henvendelser på postlister eller i diksusjonsfora

Page 20: Hva er fri programvare? (2011)

Eksempler

Operativsystem: Linux, FreeBSDDesktop: OpenOfficeBrowser: FirefoxE-post: ThunderbirdBildebehandling: GIMP

Biblioteksystem: Koha, EvergreenDiscovery interface: VuFind, Blacklight, SOPAC2 Hjemmeside: WordPress, Drupal, Joomla!Wiki: MediaWiki

Spørreundersøkelser: LimeSurveyDokumentlager: Kete, DSpace, Greenstone

Page 21: Hva er fri programvare? (2011)

Bokanbefaling

Nicole Engard: Practical Open Source Software for Libraries

http://opensource.web2learning.net/

Page 22: Hva er fri programvare? (2011)

Hvorfor fri programvare for bibliotek?

"By working together on open source ILSs such as Evergreen and Koha, digital repository systems, discovery interfaces, and so on, librarians can not only carry on their discussions of best practices in the library journals, mailing lists, and blogs, but embody the fruits of their collaboration in tools that they’ve directly participated in designing."

Galen Charlton, Release Manager for Koha 3.2http://blog.esilibrary.com/2009/08/20/welcome-galen-charlton-new-equinox-vp-for-data-services/

Page 23: Hva er fri programvare? (2011)

Takk for oppmerksomheten! [email protected]

libriotech.no/kontakt