Ohjelmistolisenssit ja IPR



Samankaltaiset tiedostot
Ohjelmistolisenssit ja IPR

Ohjelmistolisenssit ja IPR

Ohjelmistotuotanto historiallinen perspektiivi JOTU2013/K.Systä 1

Avoimen lähdekoodin kehitysmallit

Monitoimittajaprojekteista, rajapinnoista, ohjelmistolisensseistä

Ohjelmien lisensoinnista

Innovointiprosessi. Lili Aunimo Lili Aunimo

Olet vastuussa osaamisestasi

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

DESCA-sopimuksen ohjelmistomoduuli ja avoimen lähdekoodin ohjelmistot

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto

Open Source -ohjelmien perusteet

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Ohjelmiston lisensoinnin avoimet vaihtoehdot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Security server v6 installation requirements

Avoin lähdekoodi (Open Source) liiketoiminnassa

Safari-selaimen ohjelmistolisenssi kuluttajan näkökulmasta

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Oikeusministeriön OpenOffice.org -käyttöönotto. Esityksen sisältö. Avoin lähdekoodi

Security server v6 installation requirements

Windows Phone 7.5 erilainen ja fiksu älypuhelin. Vesa-Matti Paananen Liiketoimintajohtaja, Windows Phone Microsoft Oy

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa

HYÖDYNNÄ SUBSCRIPTION-ETUSI

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

Choose Finland-Helsinki Valitse Finland-Helsinki

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

FLOSS. Terhi Kilamo, assistentti

F-SECURE TOTAL. Pysy turvassa verkossa. Suojaa yksityisyytesi. Tietoturva ja VPN kaikille laitteille. f-secure.com/total

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Avoin lähdekoodi hankinnoissa Juha Yrjölä

Skannaaminen RightFaxiin. Pääkäyttäjän opas

Avoimen datan liiketoimintamallit. Matti Rossi, Aalto University School of Business

Avoin lähdekoodi. Jani Kylmäaho Maanmittauslaitos

Rekisteröiminen - FAQ

Backup Exec 3600 Appliance

Openbirds,opensource ja simujen

Opas koulujen VALO-hankintaan. Elias Aarnio Avoimet verkostot oppimiseen -hanke Educoss Innopark Oy

MEETING PEOPLE COMMUNICATIVE QUESTIONS

Älykkäämpi päätelaitteiden hallinta Juha Tujula, CTO, Enfo Oyj IBM Corporation

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Selvitys GPL-lisensoinnin tuomat ongelmat

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Lakimies PDF. ==>Download: Lakimies PDF ebook

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Pertti Pennanen License 1 (7) EDUPOLI ICTPro

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Malleja verkostojen rakentamisesta

Digitalisoituminen, verkottuminen ja koulutuksen tulevaisuus. Teemu Leinonen Medialaboratorio Taideteollinen korkeakoulu

Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

Perusoikeusbarometri. Panu Artemjeff Erityisasiantuntija

HYÖDYNNÄ SUBSCRIPTION-ETUSI

TW-WLAN g/n MIMO USB-sovitin Asennusohje

KYMENLAAKSON AMMATTIKORKEAKOULU

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

Ei raportteja roskiin

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

Ohjelmistopohjaisen lisenssin käyttö

Other approaches to restrict multipliers

TW-WLAN g/n MIMO PCI-sovitin Asennusohje

Kokemuksia lisenssiauditoinneista

LUONNOS RT EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May (10)

Avoimen ja jaetun tiedon hyödyntäminen. Juha Ala-Mursula BusinessOulu

ETELÄESPLANADI HELSINKI

HYÖDYNNÄ SUBSCRIPTION-ETUSI SUBSCRIPTION SOPIMUSTEN HALLINTA

Avoin lähdekoodi Mikko Välimäki

812341A Olio-ohjelmointi, I Johdanto

Results on the new polydrug use questions in the Finnish TDI data

xbox pelit need for speed underground 2 half life 2 luettelo xbox peleista grand theft auto san andreas run like hell max payne

SQL Server 2005 Express Edition tietokannan asennusohje

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

IT-projekti. Mitä #&!% siellä tapahtuu?

AKKREDITOITU TESTAUSLABORATORIO ACCREDITED TESTING LABORATORY

Verkkolisensoinnin Lueminut

Paikkatiedon lupapolitiikka ja lisensiointimallit. INSPIRE-verkosto Paikkatiedon infrastruktuurin hyödyntäminen 29.9.

16. Allocation Models

Manu Setälä Suomen open source -keskus COSS

Esimerkkinä - ilmainen blogi-julkaisujärjestelmä. WordPress:stä on myös palvelimelle asennettava versio (WordPress.

Collaborative & Co-Creative Design in the Semogen -projects

Autodesk Lisenssitiedosto Autodesk, Inc.

API:Hack Tournee 2014

Mitä Piilaaksossa & globaalisti tapahtuu ja mitä Tekes voi tarjota yrityksille

Millainen on onnistunut ICT-projekti?

Miten strategiset muutokset saadaan parhaiten aikaan - Tunnista myös kompastuskivet

Työelämäyhteydet uudistuvassa korkeakoulutuksessa seminaari Sessio 3. Kirsti Keltikangas, Aalto-yliopiston Sähkötekniikan korkeakoulu


1. Liikkuvat määreet

Salasanan vaihto uuteen / How to change password

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

AKKREDITOITU TESTAUSLABORATORIO ACCREDITED TESTING LABORATORY VERKOTAN OY VERKOTAN LTD.

Miksi Suomi on Suomi (Finnish Edition)

Kuvakkeet asiaankuuluvien tietoluokkien esittämiseksi Yhteentoimivuus. Elinkeinonharjoittajan nimi. Internet-yhteys. Maantieteelliset rajoitukset

Asynkroninen ohjelmointi.net 4.5 versiolla

Pahin tietoturvauhka istuu vieressäsi Tietoturvatietoisuuden kehittämisestä vauhtia tietoriskien hallintaan

SQL SERVER 2012 PARALLEL DATA WAREHOUSE APPLIANCE

Transkriptio:

Ohjelmistolisenssit ja IPR 17.11.2014 17.11.2014 JOTU/Kari Systä 1

Alustava luentoaikataulu 25.8: Johdanto + historiaa, mitä on ohjelmistotuotanto 1.9: Ohjelmistojen roolista ja tyypeistä ohjelmistotyön merkitys 8.9: Miten ohjelmistotyö organisoidaan (vaihejako ja prosessi-mallit) 15.9: Vaatimusmäärittelyt 22.9: Vaatimukset 2; tiedon mallintaminen 29.9: Käyttäjä ja käyttäjäkokemus ohjelmisto-projektissa (Jarmo Palviainen) 6.10: Esimerkkiprojekti (M-files) 20.10: Yleiset notaatiot erityisesti UML 27.10: Asiakasroolista 3.11: Projektitoiminta 10.11: Ohjelmisto osana laitetta 1 17.11: IPR, sopimukset, open source 24.11:Kertausta 1.12: Palautetta harjoitustyöstä 27.10.2014 JOTU2014/Kari Systä 2

Edellisen luennon pääkohdat Projektisuunnitelma on tärkeä vaikka käytössä olisi ketterä menetelmä Sisältö voi toki olla erilainen Ketterän projektin ohjaus ja erityisesti muutoksen hallinta on erilainen Muista riskisuunnitelma 3.11.2014 JOTU/KSY 2014 3

Sisältöä Ohjelmistojen lisenssit Patentit ja muu IPR ohjelmistoissa Avoin lähdekoodi 17.11.2014 JOTU/Kari Systä 4

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 17.11.2014 JOTU/Kari Systä 5

IPR:n tyypit Patentti Vastoin kuin joskus väitetään ohjelmistokeksintöjä voi patentoida Copyright Voi suojata lähdekoodia, käyttöliittymää tai ohjelmointirajapintaa (API) Liikesalaisuus (Trade secret) 17.11.2014 JOTU/Kari Systä 6

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 17.11.2014 JOTU/Kari Systä 7

Java-ohjelmointikieli Työkalut Ohjelma X = Integer.parseInt("1234"); Ohjelmointikieli Kirjastot (APIt) Kääntäjä class Bytecode Virtuaalikone Laitteisto 17.11.2014 JOTU/Kari Systä 8

Patentit Java IPR Erityisesti virtuaalikoneen toteutus Copyright Ohjelmointikieli Kirjastojen APIt Toteutus (lähdekoodi) Tavaramerkit ja logot Liikesalaisuudet??? 17.11.2014 JOTU/Kari Systä 9

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 17.11.2014 JOTU/Kari Systä 10

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 17.11.2014 JOTU/Kari Systä 11

Sun/Oracle vs. Google kiista Copyright-riita Muutama rivi koodia Paljon APEja ja niiden documentaatiota Virtiaalikoneen toteutukseen liittyviä patentteja Riita taitaa olla vieläkin kesken 17.11.2014 JOTU/Kari Systä 12

Wikipediasta (varmistamatta, mutta muut lähteet puhuvat samaa) Oracle America, Inc. v. Google, Inc. is a dispute related to Oracle's copyright and patent claims on Google's Android operating system. In May 2012, the jury in this case found that Google did not infringe on Oracle's patents, and the trial judge ruled that the structure of the Java APIs used by Google was not copyrightable. The parties agreed to zero dollars in statutory damages for a small amount of copied code. On May 9, 2014, the Federal Circuit partially reversed the district court ruling, ruling in Oracle's favor on the copyrightability issue, and remanding the issue of fair use to the district court. 17.11.2014 JOTU/Kari Systä 13

Hankinnan ja oston kysymyksiä sopimusta tehtäessä Kuuluuko kauppaan sekä binääri että lähdekoodi Entä dokumentointi Kellä on oikeus jatkokehittää? Mikä ovat komponentteina käytettyjen osien tai riippuvuuksien IPR- ja lisenssitilanne? Tulevat organisaatiouudistukset ja yrityskaupat 17.11.2014 JOTU/Kari Systä 14

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 17.11.2014 JOTU/Kari Systä 15

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. 17.11.2014 JOTU/Kari Systä 16

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. 17.11.2014 JOTU/Kari Systä 17

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. 17.11.2014 JOTU/Kari Systä 18

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 17.11.2014 JOTU/Kari Systä 19

Ohjelmistolisenssien maailma Avoin BSD GPL LGPL Kaupallinen Hankinta Osto Per käyttäjä(t) Vuokra SaaS Kelluva Per kone CPU Mhz MB 17.11.2014 JOTU/Kari Systä 20

17.11.2014 JOTU/Kari Systä 21

Edellisen vaikutusalueesta Pätee kertamaksullisiin, muttei ilmeisesti yksittäisten käyttöoikeuksien uudelleen myyntiin. 17.11.2014 JOTU/Kari Systä 22

17.11.2014 JOTU/Kari Systä 23

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 Ominasuudet X,Y 10 yhtäaikaiselle käyttäjälle Ominasuudet Y ja Z Paavolle ja Paulalle Yritysfuusio. Kuka saa käyttää ja mitä? 17.11.2014 JOTU/Kari Systä 24

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. 17.11.2014 JOTU/Kari Systä 25

Lisenssiauditointi Sen sijaan, että ohjelmistojen toimittajat tekisivät kattavat tekniset pakotteet lisenssien valvontaan, he usein varaavat mahdolliseen auditointiin jossa tarkistettaan onko käyttö lisenssiehtojen mukaista. Auditoinnit ovat lisääntyneet viimevuosina Voi seurata takautuvia maksuja, sopimussakkoja ja paljon lakimieskuluja 17.11.2014 JOTU/Kari Systä 26

Avoimesta lähdekoodista Kehitysmalli Yhteistyö (Periaatteessa) meriitit ja tulokset ratkaisee Koodi tulee yleensä hyvin tarkastetuksi Lisenssimalli Lähdekoodin saatavuus Erilaisia velvollisuuksia myös käyttäjille Yhteisö 17.11.2014 JOTU/Kari Systä 27

Avoimen lähdekoodin probleemeja Ohjelman loppukäyttäjälle Ei takuita, olet muutenkin omalla vastuulla Osana omaa tuotetta Ei takuita, olet muutenkin omalla vastuulla Käyttö voi edellyttää omankin koodin julkaisemista IPR (esim patentti)-riski 17.11.2014 JOTU/Kari Systä 28

Kaksoislisenssi Avoimen lähdekoodin lisenssin ehdot ovat sellaiset, että kaupalliset käyttäjät mieluiten maksavat. Esimerkki MySQL tietokanta Tietokannan saa kuka tahansa asentaa käyttää ja tehdä sen pohjalta ohjelmistoja. Jos MySQL:n open source versiota aikoo käyttää osana omaa tuotetta, oman tuotteen koodi pitää myös antaa vapaasti saataville. Kaupallisen lisenssin haltijoilla tuollaista ehtoa ei ole 17.11.2014 JOTU/Kari Systä 29

Avoimen lähdekoodin yleisimmät lisenssit GNU General Public License GPL GNU Lesser General Public License LGPL MPL Mozilla Public License BSD Berkeley Software Distribution MIT Massachusetts Institute of Technology Apache-lisenssi 17.11.2014 JOTU/Kari Systä 30

OSS lisenssien ominaisuuksia Lähde: Avoimen lähdekoodin käyttö julkisyhteisön tietojärjestelmissä, Pekka Peltola, Tampereen yliopisto, Pro-gradu, huhtikuu 2008 17.11.2014 JOTU/Kari Systä 31

Beware Open vs. Free Software Free software (1983) is: A philosophy A social movement FSF, free software foundation Stallmanism Richard Stallman Open source (1998) is: A business model A development methodology OSI, open source initiative Raymondism Eric Raymond Both approaches share a common vision on access to source code Free as in free speech, not as in free beer 17.11.2014 JOTU/Kari Systä 32

Avoin lähdekoodi ja Internet Se, että jotain on Internetissä saatavissa ei tarkoita että se on vapaata! Koskee Kaikkia ohjelmistoja Harjoitustöitä ja opinnäytteitä Opetusmateriaalia Koodia, tekstia, kuvia, fontteja.. 17.11.2014 JOTU/Kari Systä 33

Esimerkki: StackOverflow Q: Do I have to worry about copyright issues for code posted on Stack Overflow? A: Anything that you post to Stack Overflow will be under the terms of the Creative Commons license. You can find more information by looking at the bottom right of the page and clicking the cc-wiki link. As far as more specific legal issues, you should probably consult an attorney. 17.11.2014 JOTU/Kari Systä 34

Käytännössä koodin katsotaan olevan Public Domain, mutta oikeasti tilanne on monimutkaisempi A Short Story To Illustrate: Someone else decides the code is a good solution for a problem they are facing, and decides to copy it into their open source GnuFizzBuzz project, covered by the GPL. Five years from now, someone is doing an open source audit on your code (maybe you are selling to a nervous customer, or your company is going public). The open source audit finds the snippet of code you got from Stack Overflow, and recognizes it as originating in GnuFizzBuzz. You are now stuck explaining how/why you have GPL code mixed into your commercial product, or proving that the code was actually from Stack Overflow. Can you prove that the person posting the code to Stack Overflow owned it to begin with (maybe they actually copied it from GnuFizzBuzz to begin with). Lähde: StackOverflow 17.11.2014 JOTU/Kari Systä 35

Erityisesti opiskeluun liittyen Sen lisäksi, että sinun on tarkistettava onko käyttöön oikeuksia: Jos annat käsityksen, että olet itse tehnyt harjoitustyön vaikka se on kopioitu netistä syyllistyt plagiointiin! Samoin jos lainaat jonkun toisen tekstiä kertomatta lähdettä 17.11.2014 JOTU/Kari Systä 36

Avoin data Lähde Wikipedia: Avoimella tiedolla (open knowledge) viitataan digitaalisessa muodossa oleviin sisältöihin ja dataan, joita kuka tahansa voi vapaasti ja maksutta käyttää, muokata ja uudelleenjakaa. Avoimen tiedon määritelmän [1] mukaisesti aineiston tulee olla kokonaisuudessaan saatavilla käyttökelpoisessa ja muokattavassa muodossa Internetin kautta ja sen tulee olla lisensoitu niin, että sen käyttöä, muokkausta ja uudelleenjakelua ei rajoiteta. Esimerkiksi Wikipedia -tietosanakirjan sisältö on avointa tietoa. 17.11.2014 JOTU/Kari Systä 37

Wikipedian lisenssi http://fi.wikipedia.org/wiki/wikipedia:tekijänoikeudet: Wikipedian käyttämät lisenssit antavat yleisölle vapaan pääsyn tietosisältöön saman periaatteen mukaisesti kuin vapaat ohjelmistot on julkaistu. Wikipedian sisältöä voi kopioida, muokata ja levittää vain mikäli edelleen jaettava versio julkistetaan samanlaisilla lisenssiehdoilla ja Wikipedian artikkelin tekijät nimetään asianmukaisesti. Nimeämisvelvoitteen voi yleisesti täyttää ilmoittamalla linkin alkuperäiseen artikkeliin. Wikipedia on myös aina ilmoitettava tietolähteeksi, kun artikkelien sisältämää tekstiä käytetään. 17.11.2014 JOTU/Kari Systä 38

Avoin data Lähde Wikipedia (http://fi.wikipedia.org/wiki/avoin_tieto): Avoimella tiedolla (open knowledge) viitataan digitaalisessa muodossa oleviin sisältöihin ja dataan, joita kuka tahansa voi vapaasti ja maksutta käyttää, muokata ja uudelleenjakaa. Avoimen tiedon määritelmän [1] mukaisesti aineiston tulee olla kokonaisuudessaan saatavilla käyttökelpoisessa ja muokattavassa muodossa Internetin kautta ja sen tulee olla lisensoitu niin, että sen käyttöä, muokkausta ja uudelleenjakelua ei rajoiteta. Esimerkiksi Wikipedia -tietosanakirjan sisältö on avointa tietoa. 17.11.2014 JOTU/Kari Systä 39

Creative Commons http://fi.wikipedia.org/wiki/creative_commons: Nimeä (BY) Teosta saa kopioida, levittää, näyttää ja esittää julkisesti ja siitä saa luoda johdannaisteoksia, kunhan tekijän tai oikeudenomistajan nimi mainitaan asianmukaisesti. Epäkaupallinen (NC) Teosta saa kopioida, levittää, näyttää ja esittää julkisesti ja siitä saa luoda johdannaisteoksia vain, kun niitä ei käytetä kaupallisiin tarkoituksiin. Ei muutoksia (ND) Tarttuva eli JaaSamoin (SA) Teosta saa kopioida, levittää, näyttää ja esittää julkisesti, mutta siitä ei saa luoda johdannaisteoksia. Johdannaisteoksia saa levittää vain samalla lisenssillä kuin alkuperäistä teosta. 17.11.2014 JOTU/Kari Systä 40

Yhdistelmiä Nimeä (CC BY) Nimeä-Tarttuva (CC BY-SA) Nimeä-Ei muutoksia (CC BY-ND) Nimeä-Epäkaupallinen (CC BY-NC) Nimeä-Epäkaupallinen-Tarttuva (CC BY-NC-SA) Nimeä-Ei muutoksia-epäkaupallinen (CC BY- NC-ND) 17.11.2014 JOTU/Kari Systä 41

HISTORIAA JA MUUTA SILLISALAATTIA 17.11.2014 JOTU/Kari Systä 42

Perinteinen insinöörityö vs ohjelmistotuotanto Fysiikka, statiikka, lujuuslaskenta => silta Fysiikka, teoreettinen sähkötekniikka, elektroniikka => analoginen radio Käyttötapaukset UML-kaaviot Iteraatiot/Sprintit Hillitön koodaaminen Toimiva softa Notaatiot, käytännöt, nyrkkisäännöt, kokemus, intuitio => toimiva softa 25.11.2013 JOTU2013/K.Systä 43

Koulukunnat Formalistit Matemaattisen tarkka määrittely Systemaattiset askeleet kohti suoritettavaa ohjelmaa Jokaisen askeleen oikeellisuus voidaan todistaa matemaattisesti Ohjelman ominaisuudet voidaan todistaa Käytännön ihmiset Johtaminen ja organisointi Tekniset ratkaisut 25.11.2013 JOTU2013/K.Systä 44

Formaalit menetelmät http://formalmethods.wikia.com/wiki/formal_methods: Formal methods are mathematical techniques for developing computer-based software and hardware systems. Esimerkki Z-kielestä (http://images4.wikia.nocookie.net/formalmethods/images/4 /4e/Zbook.pdf) Aika erilainen tapa kuvata vaatimuksia kuin käyttötapaukset? 25.11.2013 JOTU2013/K.Systä 45

Lähestymistapojen eroista AddBirthday??? Ask? BirthDayBook JOTU2013/K.Systä 46 25.11.2013

Miksi siis softan tekeminen on niin vaikeaa? (Verrataan talon rakentamiseen) Ohjelmisto Ei tiedetä mitä tehdään (vaatimukset epäselviä) Vaatimukset muuttuvat tai sitten ollaan suosiolla ketteriä Osaamisongelmat kaikki haluaa sen parhaan koodarin Aikataulu ja budjettiongelmat Laatuongelmat Yhdessä tekeminen vaikeaa Talo Kaikilla on joku käsitys siitä millainen on talo. On valmiita malleja. Vaatimukset helppo erotella ja vaiheistaa (tontti. tapetit) kaikki haluaa sen parhaan timpurin Ovat ongelmallisia jos uudenlainen tai muuten outo talo Laatuongelmat Esimerkiksi: huoneita voi tehdä rinnakkain ja ovi pysyy koko ajan sovitussa paikassa Taloa koskevat luonnonlait selvillä 26.8.2013 TIE-02300/Kari Systä 47

Ohjelmoinnin kummallisuudesta Jos ohjelmoijat ei osaa, asiakkaan tarpeiden ymmärtäminen ei auta Jos ohjelmoijat ei osaa, ohjelma ei toimi oikein Jos ohjelmoijat ei osaa, aikataulut ja budjetit ei pidä Paljon puhutaan siitä kuinka erilaiset työkalut ja ohjelmointikielet tehostaa koodin tuottamista, mutta ihmisten osaaminen ratkaisee enemmän: Ohjelmointi Sovellusalue Ohjelmointikieli Ohjelmoinnin oppiminen Joillekin ihmisille luontaista Kokemus auttaa 26.8.2013 TIE-02300/Kari Systä 48

Ohjelmointi laajemmin Koodari Arkkitehti Testaaja 26.8.2013 TIE-02300/Kari Systä 49

Itsestään selvyyksiä ei ole vaikka niitä oletetaan (http://www.realfarmacy.com/autistic-second-grader-makes-the-rest-of-us-look-silly/) 26.8.2013 TIE-02300/Kari Systä 50

Hopealuotia etsimässä Fred Brooks: "No Silver Bullet Essence and Accidents of Software Engineering". IEEE Computer 20 (4): 10 19. Vaikeudet Monimutkaisuus (ei toistoa/toistettavuutta) Mukautuvuus (softan oletetaan sopeutuvan) Muutettavuus (helpoin osa muuttaa) Näkymättömyys (ei voi osoittaa, kosketella) Ratkaisuja historiasta Korkean tason ohjelmointikielet Osituskäyttö (tämä on tosi historiallista) Ohjelmointiympäristöt 26.8.2013 TIE-02300/Kari Systä 51

Hopealuotiehdokkaita Ada ja muut vastaavat ohjelmointikielihankkeet Olio-ohjelmointi Tekoäly Expertti-järjestelmät Automaattinen ohjelmointi Graafinen/visuaalinen ohjelmointi Ohjelmien verifiointi Työkalut ja ympäristöt Osto rakentamisen sijaan (edes komponentteja) Nopea prototypointi Inkrementaalinen kehitys 26.8.2013 TIE-02300/Kari Systä 52