Monitoimittajaprojekteista, rajapinnoista, ohjelmistolisensseistä TIE-02300, 9.11.2015 Kari Systä 09.11.2015 TIE-02300/K.Systä 1
Loput luennot PVM Aihe 02.11.2015 Projekteista erityisesti asiakasroolissa 09.11.2015 Rajapinnoista ja lisensseistä 16.11.2015 Ohjelmisto osana laitetta (Muistamme että olemme teknillinen yliopisto) 23.11.2015 Vierailuluento; Olli Vistbacka (YLE) 30.11.2015 Kertausta 09.11.2015 TIE-02300/K.Systä 2
Yleistä Ilmeisesti pieni joukko jätti harjoitustyön palauttamatta. 09.11.2015 TIE-02300/K.Systä 3
Tietojärjestelmän rakentaminen Liiketoimintastrategia Strategiset tavoitteet Mittaus ja analysointi Järjestelmävaatimukset Tietojärjestelmätoimitus Käyttöönotto ja hyväksyminen Ylläpito Mukailtu lähteestä: Timo Koivisto: Tietojärjestelmätoimituksen jälkiseuranta, Systeemityö 3/2006 09.11.2015 TIE-02300/K.Systä 4
Eräs kiva havainnollistaminen: CxO Mentor Oy:n kehityshankemalli Lähde: Myllymäki, R., Hinkka, T., Dahlberg, T. & Uimonen, B. Miksi tietojärjestelmäprojekti epäonnistuu? Tositarinoita tuhon teiltä ja onnistumisen siemeniä. Helsinki 2010, CxO Mentor Oy. 286 s. 09.11.2015 TIE-02300/K.Systä 5
Tämän kerran sisällöstä Lyhyt kertaus viime viikon luennosta Jälleen yksi esimerkki Avoimista rajapinnoista Ohjelmistolisensseistä 09.11.2015 TIE-02300/K.Systä 6
Oulun seudun päivähoito (http://www.tietoviikko.fi/kaikki_uutiset/tietoyhteiskuntahanke+epaonnistui+oulussa+ndash+mutta+tietoenator+teki+tilin/a136937) Tietoviikko 17.3.2008: Tietoyhteiskuntahanke epäonnistui Oulussa mutta TietoEnator teki tilin Oulussa haluttiin luoda seudullinen toimintamalli, jossa päivähoito-paikka on mahdollista saada yli kuntarajojen. Asiaa lähdettiin kehittämään tietoyhteiskuntaohjelman Julkiset palvelut verkkoon (Jupa)-hankkeena. Hanke kuitenkin epäonnistui. Tarkastusviraston raportin mukaan suurin syy siihen oli oli TietoEnatorin ja Logican yhteistyökyvyttömyydessä ja kapseloidussa liiketoimintapolitiikassa. Ne eivät halunneet avata rajapintojaan. 09.11.2015 TIE-02300/K.Systä 7
Oulun seudun päivähoito (http://www.tietoviikko.fi/kaikki_uutiset/tietoyhteiskuntahanke+epaonnistui+oulussa+ndash+mutta+tietoenator+teki+tilin/a136937) Raporttia varten haastatellut vastuuhenkilöt arvioivat myös, että TietoEnatorin Effica-järjestelmän tekniset ongelmat estivät rajapintojen toteuttamisen siten, että hakemuslomakkeen voisi välittää sinne asiointijärjestelmästä. Ylitarkastaja Voutilaisen mukaan Oulussa vallitsi epäselvyyttä myös siitä, mitä rajapintojen kehittäminen ja toteuttaminen tarkoittaa. 09.11.2015 TIE-02300/K.Systä 8
Selitykset. TietoEnatorin johtaja Hannu Puurosen mukaan väitteet rajapintojen suojelusta ja huonosta yhteistyökyvystä eivät pidä paikkaansa. Mitä Oulun projektiin tulee, Puurosen mukaan sopimukset eivät olleet epäonnistumisen tärkein syy. Sopimuksen sisältö muuttui jonkin verran projektin kuluessa. Sovimme silloin käyttöönoton siirtämisestä myöhempään ajankohtaan, jota ei kuitenkaan tullut. Hän painottaa projektijohdon roolia. Ratkaisun tavoitteenmukaisuuden varmistaminen on tilaajan tehtävä. Olemme toteuttaneet rajapinnat juuri niin kuin piti, Logican johtaja Kimmo Koivisto sanoo. Niitä ei Oulun alueella viety tuotantoon, mutta saimme niillä spekseillä tehtyä vastaavan projektin Pohjois-Karjalassa. Koivisto arvioi, ettei Oulussa riittänyt aikaa, panoksia ja intressiä viedä hanketta loppuun. Riskit liittyvät aina sen aliarviointiin, paljonko käyttäjäorganisaatioiden resursseja hankkeeseen voidaan sitouttaa ja miten ajankäyttö järjestetään. Luulen, että näissäkin hankkeissa on ollut kyse siitä, hän sanoo. 09.11.2015 TIE-02300/K.Systä 9
Entä tilaaja Ylitarkastaja Voutilaisen mukaan Oulussa vallitsi epäselvyyttä myös siitä, mitä rajapintojen kehittäminen ja toteuttaminen tarkoittaa. It-talojen mukaan siihen ei kuulunut varsinaista käyttöönottoa, mikä tuli projektivastuullisille yllätyksenä. Oulun tietohallintojohtaja Ilari Heikkinen myöntää epäselvyydet. Täällä ei osattu vaatia sopimuksiin oleellisia asioita, eikä toimittajalla ollut intressiä huomauttaa asiasta. Valtiovarainministeriön KuntaIT-yksikön projektipäällikkö Tommi Oikarisen mukaan Jupa-hankkeiden perimmäinen ongelma on ollut puuttuva muutoksenhallinta. Kun suunnitelmia muutettiin, ne olisi pitänyt hyväksyttää ja kirjata tavoitteisiin. Toisaalta hankkeen aikana emme sisäasianministeriössä osanneet arvioida työmääriä tai resursointia oikein ja tehdä riittävän tiukkoja sopimuksia. 09.11.2015 TIE-02300/K.Systä 10
Yhteenveto Syyllistä emme tiedä, emmekä edes etsi. Emme edes tiedä kuinka paljon lainatussa jutussa on virheitä. Mutta: Tilaajalla on aina iso vastuu ja tilaajan on osattava hommansa. Varsinkin jos on monta toimittajaa, kokonaisvastuun on oltava tiedossa. Ja konkreettisista tapauksista voi aina myös oppia Monitoimittajatilanne Rajapinnat ja niiden merkitys Käyttööoton huolellinen suunnittelu Asiakasorganisaation sitoutuminen tärkeää Sopimuksen sisältö ja rooli 09.11.2015 TIE-02300/K.Systä 11
Palataan Ouluun Ylitarkastaja Voutilaisen mukaan Oulussa vallitsi epäselvyyttä myös siitä, mitä rajapintojen kehittäminen ja toteuttaminen tarkoittaa. It-talojen mukaan siihen ei kuulunut varsinaista käyttöönottoa, mikä tuli projektivastuullisille yllätyksenä. Oulun tietohallintojohtaja Ilari Heikkinen myöntää epäselvyydet. Täällä ei osattu vaatia sopimuksiin oleellisia asioita, eikä toimittajalla ollut intressiä huomauttaa asiasta. Valtiovarainministeriön KuntaIT-yksikön projektipäällikkö Tommi Oikarisen mukaan Jupa-hankkeiden perimmäinen ongelma on ollut puuttuva muutoksenhallinta. Kun suunnitelmia muutettiin, ne olisi pitänyt hyväksyttää ja kirjata tavoitteisiin. Toisaalta hankkeen aikana emme sisäasianministeriössä osanneet arvioida työmääriä tai resursointia oikein ja tehdä riittävän tiukkoja sopimuksia. 09.11.2015 TIE-02300/K.Systä 12
Avoimet rajapinnat - esimerkki 09.11.2015 TIE-02300/K.Systä 13
Webin peruselementit HTML CSS JavaScript HTTP protokolla Täysin avoimia standardeja Määrittelyt kaikkien saatavilla Kaikilla lupa toteuttaa Ilmaisia ja kaupallisia toteutuksia saatavilla Apua ja ohjeita saatavilla Yhteensopivuus melko hyvä Follow the cow-path be strict when sending tolerant when receiving 09.11.2015 TIE-02300/K.Systä 14
Komponentit Flash sovellus - puoliavoin JPEG-kuva - yleinen standardi 09.11.2015 TIE-02300/K.Systä 15
JPEG avoin? (http://en.wikipedia.org/wiki/jpeg) In 2002, Forgent Networks asserted that it owned and would enforce patent rights on the JPEG technology, arising from a patent that had been filed on October 27, 1986, and granted on October 6, 1987 (U.S. Patent 4,698,672). The announcement created a furor reminiscent of Unisys' attempts to assert its rights over the GIF image compression standard. The JPEG committee investigated the patent claims in 2002 and were of the opinion that they were invalidated by prior art. [30] Others also concluded that Forgent did not have a patent that covered JPEG. [31] Nevertheless, between 2002 and 2004 Forgent was able to obtain about US$105 million by licensing their patent to some 30 companies. As of October 27, 2006, the U.S. patent's 20-year term appears to have expired, and in November 2006, Forgent agreed to abandon enforcement of patent claims against use of the JPEG standard. [36] The JPEG committee has as one of its explicit goals that their standards (in particular their baseline methods) be implementable without payment of license fees, and they have secured appropriate license rights for their upcoming JPEG 2000 standard from over 20 large organizations. 09.11.2015 TIE-02300/K.Systä 16
Rajapinnat liiketoiminnan mahdollistajina Flash sovellus Flash sovellus Plugin Plugin Selain Selain Ohjelmointikieli ja kirjasto Käyttöjärjestelmä 09.11.2015 TIE-02300/K.Systä 17
Serverin pää voisi olla Sovellus Ohj kieli (PHPI HTTP-palvelin Ohjelmointikieli ja kirjasto (C++) Käyttöjärjestelmä 09.11.2015 TIE-02300/K.Systä 18
Mitäs tämä voisi esimerkiksi tarkoittaa käytännössä? IDEA: Visualisoi esitietoketjut kurssille XXX. Selain Lisä 3 vaihtoehtoa - lisämoduuli ROCK/POP työkaluun - Uusi web-sovellus - Selaimen sisällä toimiva HTML5 sovellus Lisä ROCK POP Lisä Edut ja haitat + lisämoduulin voi tehdä kuka vaan (asiakkaan etu - toimittajan ei välttämättä) - tekee alkuperäisestä järjestelmästä kalliimman - potenttiaalinen turvallisuusriski, jos ei tehdä kunnolla 09.11.2015 TIE-02300/K.Systä 19
Avoimuusspekulointia Tässä esimerkissä kolme rajapintaa: 1. API 1 uusille komponenteille. 2. Palvelurajapinta 3. Web-liittymä Näissä on erilaiset mahdollisuudet Kehittäjille Käyttäjille Ja erilaiset turvallisuushaasteet Selain Lisä ROCK Lisä POP 1. Application programming interface 09.11.2015 TIE-02300/K.Systä 20 Lisä
Mitä on avoin rajapinta? Mitä on avoimuus? Sovellus API on dokumentoitu tarkkaan ja dokumentti on kaikkien saatavilla API on sama kaikille API ei muutu liian usein tai yllättäen Platform Kilpailevat toteutukset sallittuja (plugin, selain, kääntäjä) Ei ole Copyright- tai patentti-esteitä 09.11.2015 TIE-02300/K.Systä 21
Esimerkkinä Java ME Yhteensopivuus Valmistajan pelivara Yksi diktaattori takaisi yhteensopivuuden, mutta onko tulos silloin avoimuus? 09.11.2015 TIE-02300/K.Systä 22
Avoin data (http://opendefinition.org/od/1.1/fi/ https://fi.wikipedia.org/wiki/avoin_tieto http://fi.okfn.org/about/visiojaarvot/) Aineiston tulee olla kokonaisuudessaan saavutettavissa ja ladattavissa julkisessa tietoverkossa. Tiedon on oltava uudelleenjaettavissa ilman käyttöehtorajoituksia. Näin mahdollistetaan aineistojen nopea hyödyntäminen ja tehokas yhdistely. Tiedon on oltava uudelleenkäytettävissä. Näin sallitaan aineistojen esteetön ja innovatiivinen käyttö edistyksellisiin ja yllättäviinkin tarkoituksiin. Aineiston on oltava vapaa teknisistä rajoitteista niin, ettei yllä mainittujen kohtien mukaiselle toiminnalle ole teknisiä esteitä. Aineiston on oltava vapaa sosiaalisista ja organisatoorisista rajoitteista, niin ettei henkilön työ, sijainti, asuinpaikka, organisaatiomalli (kuten kaupallinen tai ei-kaupallinen organisaatio), uskonto, poliittinen suuntautuneisuus tai etnisyys rajoita pääsyä tietoon. 09.11.2015 TIE-02300/K.Systä 23
Rajapinnat ja monitoimittajaverkostot Rajapinta on yleisin tapa toteuttaa työnjako projektin aikana Vaatii ylimääräistä vaivaa, mutta vaihtoehto on vielä kalliimpi Dokumentoitu ja erikseen hallittu rajapinta mahdollistaa uusien toimittajien käyttämisen lisäkomponentteihin Standardi (tai de-facto) rajapinta mahdollistaa valmiiden komponenttien käytön Toinen puoli asiasta vendor lock-in 09.11.2015 TIE-02300/K.Systä 24
Ohjelmistolisensseistä Ohjelmistojen lisenssit Patentit ja muu IPR 1 ohjelmistoissa Avoin lähdekoodi 1 Intellectual property rights Immateriaalioikeus 09.11.2015 TIE-02300/K.Systä 25
Ohjelmistojen tekijät suojaavat liiketoimintaansa IPR:n avulla Periaatteessa määritellään laissa Mutta eri maissa erilaiset lait ja lakien tulkinta vaatii lakimiehiä Lisenssisopimuksilla Kahden välisillä sopimuksilla joissa määritellään Hinta Toimitettava ja käytettävä ohjelmisto Käytön ehdot ja rajoitteet Kummankin osapuolen vastuut 09.11.2015 TIE-02300/K.Systä 26
IPR:n tyypit Patentti Vastoin kuin joskus väitetään ohjelmistokeksintöjä voi käytännössä patentoida Tekijänoikeus (Copyright) Voi suojata lähdekoodia, käyttöliittymää tai ohjelmointirajapintaa (API) Liikesalaisuus (Trade secret) 09.11.2015 TIE-02300/K.Systä 27
Esimerkki: Java Java ohjelmointikielen keksi Sun Microsystems 90-luvun alussa Yrityksen johdolla oli ongelma Uusi ohjelmointikieli on arvokas vain jos sitä käytetään laajasti Helpoin tapa levittää laajaan käyttöön on tehdä ohjelmointikielestä mahdollisimman avoin Mistä sitten rahat? Tuskin tiesivät miten asia etenee, mutta pyrkivät suojaamaan teknologian mahdollisimman hyvin 09.11.2015 TIE-02300/K.Systä 28
Java-ohjelmointikieli Työkalut Ohjelma X = Integer.parseInt("1234"); Ohjelmointikieli Kirjastot (APIt) Kääntäjä class Bytecode Virtuaalikone Laitteisto 09.11.2015 TIE-02300/K.Systä 29
Patentit Java IPR Erityisesti virtuaalikoneen toteutus Tekijänoikeus (Copyright) Ohjelmointikieli Kirjastojen APIt Toteutus (lähdekoodi) Tavaramerkit ja logot Liikesalaisuudet??? 09.11.2015 TIE-02300/K.Systä 30
Riita 1 (Microsoft) Hyvin nopeasti Microsoft teki oman virtuaalikoneensa Ei ollut täysin yhteensopiva Sun haastoi Microsoftin oikeuteen (1997) http://www.javaworld.com/javaworld/jw-10-1997/jw-10-lawsuit.html Ratkesi vuonna 2000 http://abcnews.go.com/technology/story?id=99051 09.11.2015 TIE-02300/K.Systä 31
Riita 2: Google Androidin ohjelmointikieli on Java APIt ja kirjastot suurelta osin erilaisia Bytekoodi ja virtuaalikone erilaisia (Dalvik) Omat työkalut Sunin tavaramerkkiä ei käytetty Ja Oracle osti Sunin 09.11.2015 TIE-02300/K.Systä 32
Sun/Oracle vs. Google kiista Copyright-riita Muutama rivi koodia Paljon APEja ja niiden dokumentaatiota Virtuaalikoneen toteutukseen liittyviä patentteja Riita taitaa olla vieläkin kesken (googlasin 4.11) Oikeus totesi, että patenttia ei ole rikottu Copyright riita on vielä auki 09.11.2015 TIE-02300/K.Systä 33
Mielenkiintoisista kiistoista takaisin kurssin oleelliseen sisältöön LISENSSIT JA SOPIMUKSET 09.11.2015 TIE-02300/K.Systä 34
Palautellaan mieleen 2. luennon juttuja Tarve/idea Esiselvitys unohdetaan Tehdään itse Teetetään Ostetaan Vuokrataan Käyttötapa Asennetaan Palvelu 09.11.2015 TIE-02300/K.Systä 35
Mahdollisia määritelmiä Pilvimallista Jossain Internetin takana Resurssien optimointi virtualisoinnin ja elastisuuden avulla Uudenlainen tapa toimittaa asiakkaille ja käyttäjille Software-as-a-service (SaaS) Asiakkaalle annetaan käyttöoikeus Vrt Google Docs vs Word/OpenOffice 09.11.2015 TIE-02300/K.Systä 36
Hankinnan ja oston kysymyksiä sopimusta tehtäessä Kuuluuko kauppaan sekä binääri että lähdekoodi Entä dokumentointi Kellä on oikeus jatkokehittää? Mitkä ovat komponentteina käytettyjen osien tai riippuvuuksien IPR- ja lisenssitilanne? Tulevat organisaatiouudistukset ja yrityskaupat 09.11.2015 TIE-02300/K.Systä 37
Hankinta SaaS-mallilla Palvelun toimittaja (usein sama kuin ohjelmiston tekijä) tarjoaa integroidun kokonaisuuden Sovitulla hinnalla Sovituksi ajaksi Sovitussa paikassa (huom. laki ja tietosuoja) Sovitulla tietosuojalla Sopivilla laatukriteerteillä (luotettavuus, kuorman sieto) SLA Service Level Agreement 09.11.2015 TIE-02300/K.Systä 38
Yksityinen ihminen Ostaa paketin kaupasta Heittää mukana tulevat lisenssiehdot roskiin Asentaa ohjelmiston Syöttää tarvittaessa aktivointikoodin Lataa ohjelmiston verkosta tai sovelluskaupasta Maksaa saadakseen aktivointikoodin (jos ei ilmainen) Valehtelee lukeneensa lisenssiehdot Asentaa ja aktivoi ohjelmiston Hankkii käyttöoikeuden Esimerkki: http://www.adobe.com/fi/creativecloud.html 09.11.2015 TIE-02300/K.Systä 39
Tutkitaanpa yhtä lisenssiä tarkemmin Adoben lisenssi If you obtained the Software from Adobe or one of its authorized licensees, and subject to your compliance with the terms of this agreement, including the restrictions in Section 4, Adobe grants to you a non-exclusive license to Use the Software in the manner and for the purposes described in the Documentation as follows: 3.1 General Use. You may install and Use one copy of the Software on your Compatible Computer. See Section 4 for important restrictions on the Use of the Software. 3.2 Server Use. This agreement does not permit you to install or Use the Software on a computer file server. For information on Use of Software on a computer file server please refer to http://www.adobe.com/go/acrobat_distribute for information about Adobe Reader; orhttp://www.adobe.com/go/licensing for information about the Adobe Runtimes. 09.11.2015 TIE-02300/K.Systä 40
3.3 Distribution. This license does not grant you the right to sublicense or distribute the Software. For information about obtaining the right to distribute the Software on tangible media or through an internal network or with your product or service please refer tohttp://www.adobe.com/go/acrobat_distribute for information about Adobe Reader; or http://www.adobe.com/go/licensing for information about the Adobe Runtimes. 3.4 Backup Copy. You may make one backup copy of the Software, provided your backup copy is not installed or used other than for archival purposes. You may not transfer the rights to a backup copy unless you transfer all rights in the Software as provided under Section 5. 09.11.2015 TIE-02300/K.Systä 41
4. Obligations and Restrictions. 4.1 Adobe Runtime Restrictions. You will not Use any Adobe Runtime on any non-pc device or with any embedded or device version of any operating system. For the avoidance of doubt, and by example only, you may not Use an Adobe Runtime on any (a) mobile device, set top box (STB), handheld, phone, game console, TV, DVD player, media center (other than with Windows XP Media Center Edition and its successors), electronic billboard or other digital signage, Internet appliance or other Internet-connected device, PDA, medical device, ATM, telematic device, gaming machine, home automation system, kiosk, remote control device, or any other consumer electronics device, (b) operator-based mobile, cable, satellite, or television system or (c) other closed system device. No right or license to Use any Adobe Runtime is granted for such prohibited uses. For information on Software license terms for non-pc versions of Adobe Runtimes please visithttp://www.adobe.com/go/runtime_mobile_eula. For information on licensing Adobe Runtimes for distribution on such systems please visit http://www.adobe.com/go/licensing. 09.11.2015 TIE-02300/K.Systä 42
Kuinkahan kallis on tuo kyseinen Adoben ohjelmisto? Vastaus: Jopa Ilmainen Tuo me klikataan luetuksi aina kun Flashplayer päivittyy selaimissamme Ja oikeasti terveellä järjellä pärjää kyllä Mutta yritysten on suhtauduttava asiaan vakavammin 09.11.2015 TIE-02300/K.Systä 43
Ohjelmistolisenssien maailma Avoin BSD GPL LGPL MIT Hankinta Kaupallinen Osto Vuokra SaaS Per käyttäjä(t) Kelluva Per kone CPU Mhz MB 09.11.2015 TIE-02300/K.Systä 44
09.11.2015 TIE-02300/K.Systä 45
Edellisen vaikutusalueesta Pätee kertamaksullisiin, muttei ilmeisesti yksittäisten käyttöoikeuksien uudelleen myyntiin. 09.11.2015 TIE-02300/K.Systä 46
Entä jos (äärimmäinen spekulaatio) aika 3 cputa ominaisuus X Yritys A Yritys B, osasto 1 Yritys B, osasto 2 Laajennetaan 5 cpulle Lisätään Y ja Z Ominaisuudet X,Y 10 yhtäaikaiselle käyttäjälle Ominaisuudet Y ja Z Paavolle ja Paulalle Yritysfuusio. Kuka saa käyttää ja mitä? 09.11.2015 TIE-02300/K.Systä 47
Lainataan taas Internettiä http://www.chilit.fi/fi/ajankohtaista.html?id=16 27.10.2011 Vahva osaaminen sekä tuote- että lisenssipuolelta auttoi meitä tekemään uudistuneen infran tuotevalinnat sekä siihen sopivan sopimuksen, sanoo Ari Peippo, Head of Infra Services, Orion Oyj. Paras ratkaisu löytyi ympäristön läpikäynnillä ja tulevaisuuden tarpeet huomioon ottaen. Orionin tarvitsemat ohjelmistot, kuten esim. Microsoft, Adobe, Citrix tulevat Chilitin kautta. Tuote- ja ratkaisuosaaminen on ensisijaisen tärkeätä kun uusitaan suuri määrä tuotteita ja versioita kerralla. Myös näiden riippuvuussuhteet on otettava huomioon, jotta halutut ominaisuudet saadaan käyttöön. Säännöllisissä seurantapalavereissa käydään läpi mm. uusien versioiden arvioidut julkistusaikataulut. Pitkän tähtäimen suunnitelmia on helpompi tehdä kun on Chilitin tekemä valmistajakohtainen RoadMap apuna. Järkevä lisenssienhallinta luo yritykselle selviä säästömahdollisuuksia ja takaa että lisenssit ovat aina ajan tasalla. Lisäksi eri lisensointimallit saattavat olla hyvinkin mutkikkaita. Nyt voimme käyttää säästyvät resurssit muihin kehityshankkeisiin, sanoo Ari Peippo. 09.11.2015 TIE-02300/K.Systä 48
Lisenssiauditointi Sen sijaan, että ohjelmistojen toimittajat tekisivät kattavat tekniset pakotteet lisenssien valvontaan, he usein varaavat mahdolliseen auditointiin jossa tarkistetaan onko käyttö lisenssiehtojen mukaista. Auditoinnit ovat lisääntyneet viime vuosina Voi seurata takautuvia maksuja, sopimussakkoja ja paljon lakimieskuluja 09.11.2015 TIE-02300/K.Systä 49