2. Oversikt
1. Hva er fri programvare?
2. Hvordan (og hvorfor) fungerer fri programvare?
3. 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 vevtjenere
Internett er stort sett tuftet på fri programvare
Store firma som Google og Amazon (og mange, mange
flere) kjører på fri programvare
IBM satte for noen år siden av USD 1 milliard til å satse
på fri programvare
4. Hva er fri programvare?
En utviklingsmetode
En økonomisk "modell"
Juss (basert på copyright)
Det motsatte av "proprietær" eller "lukket" programvare
"Community", dugnad og spleiselag
5. "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
6. 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 );
}
7. 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"...
8. 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.)
9. Åpen kildekode - 10 punkter
1. Free Redistribution 6. No Discrimination Against
Fields of Endeavor
2. Source Code
7. Distribution of License
3. Derived Works
8. License Must Not Be
4. Integrity of The Author's Specific to a Product
Source Code
9. License Must Not Restrict
5. No Discrimination Against Other Software
Persons or Groups
10. License Must Be
Technology-Neutral
(The Open Source Definition)
10. "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)
11. 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
koden
Omtales ofte som en "viral" (virus-aktig) lisens - hvis
GPL-kode blandes med ikke-GPL-kode må resultatet
gjøres tilgjengelig under GPL
BSD-typen
Legger veldig få føringer på distribusjon av endringer -
endringer kan distribueres uten at det gis tilgang til
kildekoden
13. Hvordan kan programvare være gratis?
Noe arbeid utføres gratis
Fordi det er gøy
Fordi det gir status
Fordi det øker sjansene for å få en jobb
Men det meste arbeidet utføres mot betaling
av "leverandører" (firma, freelance konsulenter)
som lever av å selge tjenester
utvikling
installasjon, migrasjon
vedlikehold
"hosting"
opplæring
av "brukere" (feks bibliotek) som har den nødvendige
kompetansen selv
14. 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"
15. Fri programvare og leverandørene
Fri programvare bryter ned 1-til-1-forholdet mellom
programvare og leverandør
Én programvare kan ha flere leverandører
Man kan bytte leverandør uten å bytte programvare
Leverandørene må konkurrere på tjeneste-kvalitet
Oppe-tid, brukerstøtte, opplæring osv
Man 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
oppgradering
utvikling
feilretting
16. 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
17. Hva med kvalitetskontroll?
...når "alle kan bidra"...
Systemer for kvalitetskontroll
"Release manager" som bestemmer hva som skal med i
den offisielle versjonen
Gjerne noen som bedriver QA - Quality Assurance
Motto
"Release early, release often"
"Given enough eyeballs, all bugs are shallow"
18. Hva med sikkerhet?
Joda, slemmingene har full tilgang til kildekoden, de også,
og kan lete etter svakheter de kan utnytte
Men 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
19. Suksessfaktorer
At mange nok bidrar med noe
Tid til utvikling
Penger til utvikling
Testing og feilrapportering
Skriving av dokumentasjon
Å svare på henvendelser på postlister eller i
diksusjonsfora
20. 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ørbinding
Sikret tilgang til programmet "til evig tid"
Åpenhet om feil og utvikling
Mulighet for å påvirke utviking av programmet
21. 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.2
http://blog.esilibrary.com/2009/08/20/welcome-galen-charlton-new-equinox-vp-for-data-services/
22. 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/
25. Modellbibliotek med fri programvare?
Statbudsjettet m.m. åpner for en ordning med
"modellbibliotek"
Kunne man hatt et modellbibliotek for bruk av fri
programvare
Fritt biblioteksystem
Linux på ansatt- og publikumsmaskiner
OpenOffice
Firefox
osv...