Per Spilling og Dicken Spilde: Storebrand Skade - Suksess med bruk av fri programvare
Hva er fri programvare
-
Upload
libriotech -
Category
Education
-
view
841 -
download
6
description
Transcript of Hva er fri programvare
Hva er fri programvare?
Magnus Enger
Oversikt
1. Hva er fri programvare?2. Hvordan (og hvorfor) fungerer 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
Hva er fri programvare?
En utviklingsmetodeEn økonomisk "modell"Juss (basert på copyright)Det motsatte av "proprietær" eller "lukket" programvare"Community", dugnad og spleiselag
"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
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 );}
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"...
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.)
Å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
"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)
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
Hvordan (og hvorfor) fungerer 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
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"
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
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
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"
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
Suksessfaktorer
At mange nok bidrar med noeTid til utvikling Penger til utviklingTesting og feilrapporteringSkriving av dokumentasjonÅ svare på henvendelser på postlister eller i diksusjonsfora
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
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/
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/
http://www.friprog.no/anskaffelser/
Bruk av fri programvare i det offentlige
2009 © Statistisk sentralbyråhttp://www.ssb.no/iktbruks/
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...
Takk for oppmerksomheten! [email protected]
libriotech.no/kontakt