26
Hva er fri programvare? Magnus Enger

Hva er fri programvare

Embed Size (px)

DESCRIPTION

Kort innføring i hva fri programvare er for noe, rettet mot bibliotekarer.

Citation preview

Page 1: Hva er fri programvare

Hva er fri programvare?

Magnus Enger

Page 2: Hva er fri programvare

Oversikt

1. Hva er fri programvare?2. Hvordan (og hvorfor) fungerer fri programvare?

Page 3: Hva er fri programvare

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 4: Hva er fri programvare

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 5: Hva er fri programvare

"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 har vi et greit skille mellom "gratis" og "fri" Fri programvare er fri, men den er ikke nødvendigvis gratis

Page 6: Hva er fri programvare

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 7: Hva er fri programvare

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 8: Hva er fri programvare

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 9: Hva er fri programvare

Å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 10: Hva er fri programvare

"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 11: Hva er fri programvare

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 12: Hva er fri programvare

Hvordan (og hvorfor) fungerer fri programvare?

Page 13: Hva er fri programvare

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

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

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

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

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

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

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

Fri v.s. lukket programvare

Konkurranse på "features" - er programmet egnet til oppgaven det er tiltenkt? Men fri programvare kan ha noen fordeler ut over programmets konkrete egenskaper

Ingen leverandørbindingSikret tilgang til programmet "til evig tid"Åpenhet om feil og utviklingMulighet for å påvirke utviking av programmet

Page 21: Hva er fri programvare

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 22: Hva er fri programvare

Fri programvare og det offentlige

"Satsingen på fri programvare fortsetter i 2010. Deling av programvare kommer organisasjoner, virksomheter og innbyggere til gode. Mer bruk av fri programvare i offentlig sektor kan redusere leverandørbindinger som kan være usunne for konkurransen i programvaremarkedet. Fri programvare kan også skape grunnlag for økt kompetanseutvikling og innovasjon i samfunnet."

http://www.statsbudsjettet.no/Statsbudsjettet-2010/Statsbudsjettet-fra-A-til-A/Fri-programvare/

Page 23: Hva er fri programvare

http://www.friprog.no/anskaffelser/

Page 24: Hva er fri programvare

Bruk av fri programvare i det offentlige

2009 © Statistisk sentralbyråhttp://www.ssb.no/iktbruks/

Page 25: Hva er fri programvare

Modellbibliotek med fri programvare?

Statbudsjettet m.m. åpner for en ordning med "modellbibliotek"Kunne man hatt et modellbibliotek for bruk av fri programvareFritt biblioteksystemLinux på ansatt- og publikumsmaskiner

OpenOfficeFirefoxosv...

Page 26: Hva er fri programvare

Takk for oppmerksomheten! [email protected]

libriotech.no/kontakt