ݺߣ

ݺߣShare a Scribd company logo
Hva er fri programvare?

      Magnus Enger
       libriotech.no
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
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
"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
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         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
(The Open Source Definition)
                               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
      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
Hvordan (og hvorfor) fungerer
      fri programvare?
Mange ulike typer prosjekter

  En enkelt entusiast
      Mottar bidrag utenfra
      Mottar ikke bidrag utenfra
  Ett firma
      Mottar bidrag utenfra
      Mottar ikke bidrag utenfra
  "Community" med mange bidragsytere
      Valgte roller
      Faste retningslinjer for bidrag
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
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ø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
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 versjonen
      Gjerne 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 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
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
Eksempler

   Operativsystem: Linux, FreeBSD
   Desktop: OpenOffice
   Browser: Firefox
   E-post: Thunderbird
   Bildebehandling: GIMP

  Biblioteksystem: Koha, Evergreen
  Discovery interface: VuFind, Blacklight, SOPAC2
  Hjemmeside: WordPress, Drupal, Joomla!
  Wiki: MediaWiki
Spørreundersøkelser: LimeSurvey
  Dokumentlager: Kete, DSpace, Greenstone
Bokanbefaling

                   Nicole Engard:
     Practical Open Source Software for Libraries

         http://opensource.web2learning.net/
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/
Takk for oppmerksomheten!
      magnus@enger.priv.no
       libriotech.no/kontakt

More Related Content

Similar to Hva er fri programvare? (2011) (20)

PDF
Fri programvare og lisenser
Friprogsenteret
PDF
Fri Programvare for web
Friprogsenteret
PDF
Fri programvare + Åpne data = Hånd i hanske
Friprogsenteret
PDF
Presentasjon for kommuner
Friprogsenteret
PDF
Overalt, alltid
Friprogsenteret
PDF
Åpne standarder, åpen kildekode og nye lisenser
Audun Vaaler
PDF
Sikkerhet i fri programvare
Friprogsenteret
PPT
Copyleft
KristineV
PPT
Copyleft
guest0d8272
PPT
Copyleft
KristineV
PPT
Copyleft
mariat08
PPT
Copyleft project
Bboymali
PDF
Fri programvare og utfordringer i anskaffelsesprosessen
Friprogsenteret
PPTX
Fri Og Gratisprogrammer
Magnus Nohr
PDF
Møt morgensdagens utfordringer med fri programvare
ErgoGroup
PPT
Copyleft Presentasjonv4
torz0r
ODP
Sesjon5 Gundersen Friprog Lisensoversikt
Western Norway Research Institute
PDF
Open Source, Open Content
Friprogsenteret
PDF
Slik anskaffer du fri programvare
Friprogsenteret
Fri programvare og lisenser
Friprogsenteret
Fri Programvare for web
Friprogsenteret
Fri programvare + Åpne data = Hånd i hanske
Friprogsenteret
Presentasjon for kommuner
Friprogsenteret
Overalt, alltid
Friprogsenteret
Åpne standarder, åpen kildekode og nye lisenser
Audun Vaaler
Sikkerhet i fri programvare
Friprogsenteret
Copyleft
KristineV
Copyleft
guest0d8272
Copyleft
KristineV
Copyleft
mariat08
Copyleft project
Bboymali
Fri programvare og utfordringer i anskaffelsesprosessen
Friprogsenteret
Fri Og Gratisprogrammer
Magnus Nohr
Møt morgensdagens utfordringer med fri programvare
ErgoGroup
Copyleft Presentasjonv4
torz0r
Sesjon5 Gundersen Friprog Lisensoversikt
Western Norway Research Institute
Open Source, Open Content
Friprogsenteret
Slik anskaffer du fri programvare
Friprogsenteret

More from Libriotech (11)

PDF
Må MARC dø?
Libriotech
PDF
Contributing to Koha
Libriotech
ODP
Glitre og Öppna bibliotek
Libriotech
PDF
Koha @ emtacl10
Libriotech
PDF
Koha
Libriotech
PDF
Kort presentasjon av Koha i Norge
Libriotech
ODP
Pode - en kort presentasjon
Libriotech
ODP
Bibliotek 2.0?
Libriotech
PPT
Google og bibliotekene
Libriotech
ODP
Libraries and social networks
Libriotech
ODP
Sosiale nettverk og bibliotek
Libriotech
Må MARC dø?
Libriotech
Contributing to Koha
Libriotech
Glitre og Öppna bibliotek
Libriotech
Koha @ emtacl10
Libriotech
Kort presentasjon av Koha i Norge
Libriotech
Pode - en kort presentasjon
Libriotech
Bibliotek 2.0?
Libriotech
Google og bibliotekene
Libriotech
Libraries and social networks
Libriotech
Sosiale nettverk og bibliotek
Libriotech
Ad

Hva er fri programvare? (2011)

  • 1. Hva er fri programvare? Magnus Enger libriotech.no
  • 2. 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
  • 3. 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
  • 4. "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
  • 5. 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 ); }
  • 6. 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"...
  • 7. 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.)
  • 8. Å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 (The Open Source Definition) Technology-Neutral
  • 9. "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)
  • 10. 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
  • 11. Hvordan (og hvorfor) fungerer fri programvare?
  • 12. Mange ulike typer prosjekter En enkelt entusiast Mottar bidrag utenfra Mottar ikke bidrag utenfra Ett firma Mottar bidrag utenfra Mottar ikke bidrag utenfra "Community" med mange bidragsytere Valgte roller Faste retningslinjer for bidrag
  • 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. Eksempler Operativsystem: Linux, FreeBSD Desktop: OpenOffice Browser: Firefox E-post: Thunderbird Bildebehandling: GIMP Biblioteksystem: Koha, Evergreen Discovery interface: VuFind, Blacklight, SOPAC2 Hjemmeside: WordPress, Drupal, Joomla! Wiki: MediaWiki Spørreundersøkelser: LimeSurvey Dokumentlager: Kete, DSpace, Greenstone
  • 21. Bokanbefaling Nicole Engard: Practical Open Source Software for Libraries http://opensource.web2learning.net/
  • 22. 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/
  • 23. Takk for oppmerksomheten! magnus@enger.priv.no libriotech.no/kontakt