Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Avoin lähdekoodi: yllätyksiä ja ongelmia?

Samankaltaiset esitykset


Esitys aiheesta: "Avoin lähdekoodi: yllätyksiä ja ongelmia?"— Esityksen transkriptio:

1 Avoin lähdekoodi: yllätyksiä ja ongelmia?
Mikko Välimäki /

2 Kuka puhuu? Mikko Välimäki, oik. kand.
Tutkija Teknillisen korkeakoulun ja Helsingin yliopiston erillislaitoksessa Tietotekniikan tutkimuslaitos HIIT:issä, ”Avoimen lähdekoodin ohjelmistolisensseistä” ja muita artikkeleita Electronic Frontier Finland ry:n puheenjohtaja, Muuta asiaan liittyvää, mm. patentointi Turré Legal Consulting, oma konsultointiyritys, lähinnä tietotekniikka- ja mediayritysten konsultointia Lisenssisuomennoksia ym.

3 Rakenne Mitä ovat avoimen lähdekoodin ohjelmistot? Esimerkkejä
Avoimen lähdekoodin määritelmä Lisenssityyppejä Avoin lähdekoodi ja riskit Teknisiä ongelmia Oikeudellisia ongelmia Avoin lähdekoodi ja ohjelmistoliiketoiminta Menetystarinoita? Erilaisia liiketoimintamalleja

4 Mitä ovat avoimen lähdekoodin ohjelmistot?

5 Esimerkkejä Linux – käytetyin serverikäyttöjärjestelmä
Apache – käytetyin webserverohjelmisto MySQL – käytetyin webtietokanta PHP, Perl – käytetyimmät webskriptikielet OpenOffice – kehittynyt mutta vielä varsin puutteellinen toimisto-ohjelmisto loppukäyttäjille GCC, Mozilla, KDE, Gnome, PostgreSQL, jne

6 Miksi käyttäisin…? Kustannukset
Resurssien saatavuus (opiskelijat tuntevat hyvin) Laaja tuotetuki (erityisesti epäkaupalliset kanavat) Toimittajariippumattomuus Nopea tuotekehitys ja päivitykset Teknisesti hyvin laajasti testattu Skaalautuvuus (erityisesti verkkokäyttö)

7 Miksi yritykset käyttävät avointa lähdekoodia ja Linuxia?
Lähde: Datapron kyselytutkimus

8 Mihin käyttöön? Lähde: Datapron kyselytutkimus

9 Tekijänoikeus ja ohjelmisto
Tekijänoikeus suojaa ohjelmistoa Kopiointi, levittäminen, muuttaminen jne. lähtökohtaisesti kaikki luvanvaraista Tekijänoikeuden saa ohjelman kehittäjät taikehittäjät palkkaava yritys Yksittäiset ohjelmistokopiot on lisensoitu käyttäjille Tekijänoikeutta ei lähtökohtaisesti myydä tai siirretä, vain rajoitettu käyttöoikeus eli lisenssi Avoimen lähdekoodin lisenssit antavat vapauksia – eivät rajoituksia – lisensoidut ohjelmiston kopioimiseksi, levittämiseksi, muutteluksi ja käyttämiseksi

10 Tyypillinen ohjelmistolisenssi…
“Microsoft Windows XP Professional END-USER LICENSE AGREEMENT IMPORTANT-READ CAREFULLY: This End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software product identified above, which includes computer software and may include associated media, printed materials, "online" or electronic documentation, and Internet-based services ("Product"). An amendment or addendum to this EULA may accompany the Product. YOU AGREE TO BE BOUND BY THE TERMS OF THIS EULA BY INSTALLING, COPYING, OR OTHERWISE USING THE PRODUCT. IF YOU DO NOT AGREE, DO NOT INSTALL OR USE THE PRODUCT; YOU MAY RETURN IT TO YOUR PLACE OF PURCHASE FOR A FULL REFUND … * Reservation of Rights. Microsoft reserves all rights not expressly granted to you in this EULA. “

11 Open Source / Free Software
Free Software Foundation 1985 GNU GPL-lisenssi Richard Stallman Open Source Initiative 1998 Bruce Perens, Eric Raymond FSF:llä on poliittisemmat tavoitteet, OSI on puolestaan enemmän kiinnostunut avoimesta lähdekoodista yrityksissä

12

13

14 Avoimen lähdekoodin määritelmä 1/2
Vaatimukset avoimen lähdekoodin lisensseille: Vapaa levitysoikeus Avoin (ja toivottavasti ilmainen) lähdekoodi Johdannaiset teokset pitää olla sallittu Eri käyttötilanteita ei saa syrjiä (käyttäjät, laitteistot) Tekijän integriteetti suojattu Tarkemmin: “1. Vapaa levitysoikeus: Lisenssi ei saa estää ketään myymästä tai lahjoittamasta ohjelmaa osana yhdisteltyä ohjelmistoa, joka on koottu useista eri lähteistä saaduista ohjelmista…”

15 Avoin lähdekoodin määritelmä 2/2
“2. Lähdekoodi: Ohjelman täytyy sisältää lähdekoodi ja ohjelman levityksen täytyy olla sallittu sekä lähdekoodina että käännetyssä muodossa. Jos jotakin osaa ohjelmasta levitetään ilman lähdekoodia, tällöin on selkeästi tiedotettava, miten lähdekoodi on saatavissa kohtuullisin kopiointikustannuksin - mieluiten Internetin kautta ilmaiseksi…” “3. Johdannaiset teokset: Lisenssin on sallittava muutosten tekeminen ja johdannaisten teosten luominen. Näitä on saatava levittää samoilla lisenssiehdoilla kuin alkuperäistä ohjelmaa.”

16 Lisenssityyppejä, 1/2 BSD, MIT, Apache – nämä ovat ”kaiken sallivia” lisenssejä sallivat vapaan levityksen, muuttelun ja jopa lisenssin muuttamisen (teoskynnyksen ylittyessä); pitkälti samoin kuin Public Domain (PD) ohjelmistoissa noin 10% projekteista käyttää näitä lisenssejä, erityisesti yliopistot GNU GPL – pysyvä ja tarttuva (”viral”) sallii vapaan levittämisen ja muuttelun mutta kaikki yhteen liitetyt ja johdannaiset teokset (derivative works) lisensoitava GNU GPL-lisenssillä yli 70% kaikista avoimen lähdekoodin projekteista käyttää GPL lisenssiä

17 Lisenssityyppejä, 2/2 LGPL – pysyvä
sallii vapaan levittämisen, muuttelun ja lisenssiehtojen muutokset jos liitetty kokonaisuudessaan uuteen teokseen; johdannaiset teokset oltava LGPL tai GPL MPL, NPL jne – pysyvä, lähdekoodi tarttuva Sun, Nokia ja muut suuryritykset käyttävät näitä lisenssejä; pitkälti kuten GPL mutta sallii binäärin lisenssin vaihtamisen kaupalliseksi (alkuperäisen kehittäjän hyödyksi) Yksinoikeuslisenssi – rajoittava sallii ohjelmiston käytön vain tietyissä tilanteissa; shareware on yksi alityyppi

18 Patentti ja ohjelmisto
Ohjelmistoja patentoidaan yhä enemmän Euroopassakin Yhdysvalloissa myönnetty jo yli ohjelmistopatenttia ja Euroopassa lakia muutetaan parhaillaan -> patentteja ei voi unohtaa Mitä voidaan patentoida ja miten on vielä epäselvää arvokkaita patentteja potentiaalisesti rajapinnoissa (interface), standardeissa jne; monet patentit silti ajan- ja rahanhukkaa Lausunto eduskunnalle syksyllä 2002:

19 Avoin lähdekoodi ja patentointi
Avoimen lähdekoodin lisensseistä mm. GPL ja LGPL ovat epäyhteensopivia patenttien kanssa Ohjelmistokehittäjien asenteet ja ideaalit eivät aina täsmää liiketoiminnan realiteettien kanssa Linus Torvalds: “I do not look up any patents on _principle_, because (a) it's a horrible waste of time and (b) I don't want to know. The fact is, technical people are better off not looking at patents. If you don't know what they cover and where they are, you won't be knowingly infringing on them. If somebody sues you, you change the algorithm or you just hire a hit-man to whack the stupid git.”

20

21 Avoin lähdekoodi ja riskit

22 Teknisempiä ongelmia Ei luotettavaa kaupallista tuotetukea
Yhteensopivuusongelmat mm. Microsoft ohjelmistoihin Riippumattomuus toimittajasta ei välttämättä päde jos tuotteita joudutaan räätälöimään Nopea tuotekehitys ja päivitykset tuovat lisäkustannuksia ja pakottavat olemaan ”ajan hermoilla” Suurin osa avoimen lähdekoodin ohjelmistoista amatöörien kehitelmiä, vain jotkin poikkeukselliset projektit vakavasti otettavia kaupallisesti Ohjelmistojen käytettävyys monesti kyseenalainen: hakkerien tekemiä toisille hakkereille

23 GPL:n tarttuvuus “2 b) Jokainen teos, jonka Lisenssin saaja julkaisee tai levittää edelleen, ja joka kokonaan tai osittain perustuu tai sisältää osia Ohjelmasta, on lisensoitava kokonaisuudessaan ilman maksua kaikille kolmansille osapuolille tämän Lisenssin ehtojen mukaisesti.” Kohdan tulkinta on avoin ja kiistelty Ei oikeustapauksia, vain yhteisösääntöjä: FAQ- listoja, asiantuntijamielipiteitä ym. Microsoft: GPL saastuttaa kaiken mihin se koskee Avoimen lähdekoodin puolustajat: koodin voi aina kirjoittaa uudestaan tai ostaa kaupallisen lisenssin

24 Tulkinta - teoriaa Tulkintatilanteita:
GPL-lähdekoodia muutettu (esim. komponentit) GPL-koodiin linkattu (esim. kirjastorutiinit) ajonaikainen linkitys tai käännetty binääriin linkitetty GPL-koodista (esim. ajuri Linuxista) GPL-tuotetta myydään ”parannettuna” versiona (esim. paranneltu graafinen käyttöliittymä) Ohjelmistotuote Komponentti Kirjastorutiineja Ajonaikainen kirjastomoduli

25 Käytännössä… Linuxin kernel ja laitteistoajurit (erillisinä moduleina)
FSF FAQ: ajonaikainen linkitys ok, jos käännetty mukaan binääriin pitäisi käyttää GPL:ää Linus Torvalds: muut kuin GPL-ajurit ok Richard Stallman: ajureiden pitäisi olla GPL Asiakas / palvelin (client / server) Onko esimerkiksi itsenäinen graafinen asiakas ok? MySQL AB:n tulkinta: ”all commercial clients require a license” Muita tulkintatilanteita mm. TrollTechin Qt grafiikkakirjastolla ja SleepyCatin BerkeleyDB sulautetulla tietokannalla

26 Oikeuksien selvennys Lähdekoodin kirjoittaminen uudestaan
Voi vaatia paljon työtä mutta oikeudellisesti ”turvallisin” vaihtoehto Oikeuksien hankkiminen sopimuksin Voi jättää piiloon vastuita, jos jotkin sitoumukset annettu ilman valtuuksia (tyypillisesti työntekijätilanne)

27 Oikeuksien omistus Yritysten ja muiden organisaatioiden oltava huolellisia jotteivät ”dilutoi” oikeuksiaan jos lähdekoodi julkaistaan Oikeuksien omistus = tuotekehityksen ja levityksen hallinta (esim. MySQL) myös tavaramerkki tärkeä (esim. Apache) joskus myös johtava asema = hallinta (esim. Linux)

28 GPL:n sitovuus ”Lisenssin saajalta ei vaadita tämän Lisenssin hyväksymistä … Kuitenkaan mikään muu ei salli Lisenssin saajaa muuttaa tai levittää Ohjelmaa tai sen jälkiperäisteosta. Nämä toimenpiteet ovat lailla kiellettyjä siinä tapauksessa, että Lisenssin saaja ei hyväksy tätä Lisenssiä. Niinpä muuttamalla tai levittämällä Ohjelmaa (tai Ohjelmaan perustuvaa teosta) Lisenssin saaja ilmaisee hyväksyvänsä tämän Lisenssin …” Onko GPL-lisenssi ainoastaan tekijänoikeuslisenssi vaiko myös sopimus? Vain sopimuksessa voidaan sopia tehokkaasti takuun raukeamisesta ym.

29 Oikeudelliset ongelmat…
Patentit ja tekijänoikeudet GNU GPL ja LGPL eivät salli samanaikaisia ohjelmistopatentteja Avoimen lähdekoodin tuotteet voivat loukata yllättäen kolmansien osapuolten patentteja, tekijänoikeuksia tai muita oikeuksia Lisenssien pysyvyys ja tarttuvuus kaupallinen jatkokäyttö voi olla mahdotonta, yllätysvaikutuksia muihin ohjelmistoihin Oikeuksien selvennys ja omistus tekijänoikeuksien hallinnointi on suunniteltava ja toteutettava huolellisesti Ratkaisu: koulutus, ”Legal check”?

30 Avoin lähdekoodi ja ohjelmistoliiketoiminta

31 Menestystarinoita? Puhtaat avoimen lähdekoodin yritykset harvoin kaupallisia menestystarinoita Esimerkiksi Linux-distribuutiot pääosin nollabisnes, suurin osa firmoista nurin (Corel, Caldera, Mandrake, …) Poikkeuksia toki löytyy kuten RedHat ja tietokantayritykset MySQL AB ja SleepyCat Inc. Avoin lähdekoodi tuonut paljon konsultointibisnestä pienille yrityksille Webbiserverien asennukset, webohjelmointi ym. pohjautuu monesti avoimen lähdekoodin ohjelmistoihin

32 Erilaisia liiketoimintamalleja
Software projects Software publishing Product focus Customer project Product family Copyright Licensed or transferred Licensed with restrictions Income One-time project fees License fees Software subscription Free software Parametrized product Core product Licensed with an open source license Service fees and application rents Indirect from services, bundling, branding

33 Esimerkkiyrityksiä… Sleepycat Software Inc MySQL AB TrollTech AS
Sleepycat Software Inc MySQL AB TrollTech AS Product Embedded database SQL database GUI tools Free license(s) Sleepycat License GPL GPL, QPL Users Millions Approx. 4 million users Hundreds of thousands Customers Thousands Around 0.1 % of users Main income Licenses (>75%), services, support Licenses (>50%), brand, services Licenses Development Inhouse Marketing Direct and indirect Direct Technology Standardized (database) Standardized (SQL) Non-standard (GUI)

34 Kaksoislisensointi Development Community Development Partners ©
License GPL License fees Core Product Reseller GPL License fees License GPL Users Customers

35 Lisenssin valinnasta Tapauskohtainen analyysi yrityksen tai muun organisaation tarpeista, markkinoista jne Kaksoislisensointi (dual licensing) Avoimen lähdekoodin ja yksinoikeuslisenssejä käytetään samanaikaisesti Jos käyttäjä ei voi sitoutua GPL-ehtoihin (esim. kaupallinen sulautettu ohjelmistokokonaisuus jonka GPL tartuttaisi), ostettava kaupallinen lisenssi Esim. MySQL AB, TrollTech AS ja SleepyCat Inc. Shareware, freeware, … Jos halutaan vain levittäminen vapaaksi

36 ”Peukalosääntöjä” Sallivat lisenssit (BSD-tyyppiset) kiinnostavia kolmansille ohjelmistokehittäjille mutta kaupallinen ”kaappaus” mahdollista Hyöty yritykselle, joka haluaa standardoida teknologiansa ja myydä sitä tukevia tuotteita Sopiva myös julkisesti rahoitetuille tuotekehityshankkeille GNU lisenssit sopivia kaksoislisensointiin mutta yksinomaan käytettyinä lähinnä yhteisöprojekteihin Hyöty yhteisölle ilman vaaraa, että joku kaupallistaa kaiken

37 Kysymyksiä – Kommentteja?
Mikko Välimäki


Lataa ppt "Avoin lähdekoodi: yllätyksiä ja ongelmia?"

Samankaltaiset esitykset


Iklan oleh Google