SlideShare a Scribd company logo
1 of 31
Download to read offline
Oprogramowanie
Open Source w
instytucjach
publicznych
Aleksander Korzyński
www.akorzy.com
21 stycznia 2020
Centralny Dom Technologii
www.cdt.pl
Copyright © 2020 Aleksander Korzyński.
Niniejsza prezentacja została upubliczniona
na licencji Creative Commons-Uznanie
autorstwa-Bez utworów pochodnych 4.0
Międzynarodowa (CC-BY-ND 4.0 Int.),
za wyjątkiem obrazów, ikon i czcionek,
których licencje opisano na ostatnim
slajdzie.
Plan prezentacji
Open Source
USA: 2016 – 2019
● Motywacja
● Analiza
● Wnioski
– DREAM CODE
O mnie
● 2007: dyplom mgr inż. informatyki (EiTI PW)
● Praca jako informatyk w Holandii i Wielkiej Brytanii
– Duże farmy serwerów oparte na Open Source, m.in. Linux i
OpenStack
● 2003: pierwsze doświadczenia z Open Source: LAME, Minix
●
Byli pracodawcy: ClusterVision, Hewlett-Packard Enterprise
● Byli klienci: University of Cambridge, University of Birmingham
●
Obecnie niezależny konsultant i szkoleniowiec
http://etc.ch/LioC
Czym jest FOSS – Free and Open‑Source
Software?
Moja definicja: oprogramowanie, które nie ma kontrolującego
właściciela, ale jest własnością społeczności, która może je w dowolny
sposób używać, modyfikować i współdzielić.
„free software” - 4 wolności „open source software” - 10 warunków
Zalety stosowania FOSS – cz. 1
● $ Zwykle niższa cena
– Ograniczenie marnotrawstwa i duplikacji
– Wielu potencjalnych dostawców (unikanie vendor lock-in)
● Konkurencja obniża cenę
● Możliwość zmiany dostawcy
● Możliwość rozszerzenia funkcjonalności przez dowolnego dostawcę
– Brak konieczności podpisywania długoterminowych
kontraktów i płacenia za wsparcie techniczne, jeśli nie ma
takiej potrzeby
Zalety stosowania FOSS – cz. 2
● ☑ Wyższa prywatność, bezpieczeństwo i
wiarygodność
– Przejrzystość działania programu
●  Potencjalnie wysoka „zwinność”, tzn. krótki
czas od postawienia wymagania do
wprowadzenia zmiany
Zalety kodowania w otwarty sposób – cz. 1
● ☑ Bezpieczeństwo, wiarygodność i jakość
– Programiści inaczej piszą kod, jeśli wiedzą, że zostanie
upubliczniony
– Publiczny audyt bezpieczeństwa
– Wysoka dokładność zgłoszeń błędów w programie
– Potencjalnie duża skala puli programistów
● $ Oszczędność
– Możliwość współdzielenia kodu przez różne instytucje publiczne
pomimo zróżnicowanych wymagań
Zalety kodowania w otwarty sposób – cz. 2
● ☺ Prostsza współpraca pomiędzy instytucjami publicznymi
– Standaryzacja wytwarzanego oprogramowania, metodyki pracy i
aplikacji ułatwiających współpracę w zespole
●  Zwiększona transparentność pracy instytucji publicznych
●  Wyklarowanie się kwestii własności intelektualnej
●  Łatwiej jest kodować w sposób otwarty niż otworzyć
uprzednio zamknięte oprogramowanie
Powody do ostrożności
● Potencjalne zagrożenia dla bezpieczeństwa narodowego
lub prywatności obywateli
● Zagrożenia dla systemów rządowych
● Może nie być gwarantowanego wsparcia technicznego
● Ograniczenia prawne związane z upublicznieniem
technologii (np. regulacje dot. handlu bronią)
Europa: przykłady stosowania Open Source
w instytucjach publicznych, cz. 1
● Francja: polityka preferowania Open Source od 2012 r.
– Uniwersytet Harvarda opublikował niezależną analizę porównawczą
– Wzrost o 0,6% - 5,4% rocznie w liczbie firm używających Open Source
– Wzrost o 9% - 18% rocznie w liczbie informatycznych start-upów
– Wzrost o 6,6% - 14% rocznie w liczbie pracowników na stanowiskach związanych
z informatyką
– Spadek o 5% - 16% w liczbie patentów na oprogramowanie
– Wszystkie powyższe pomagają zwiększyć narodową produktywność i
konkurencyjność
– Wzrost francuskiego wkładu w Open Source – szacuje się, że o równowartość 20
mln dolarów rocznie w hipotetycznym wynagrodzeniu programistów
– W ogólności rządowa polityka technologiczna preferująca Open Source
może mieć pozytywny wpływ zarówno na narodową konkurencyjność jak i
na globalną wartość społeczną
Europa: przykłady stosowania Open Source
w instytucjach publicznych, cz. 2
● Francja: wyszukiwarka oprogramowania Open Source na
potrzeby instytucji publicznych
– http://www.comptoir-du-libre.org
● UK: punkt 12. „Standardu świadczenia usług”: „Make new
source code open”
– https://www.gov.uk/service-manual/service-standard
● Niemiecki kraj związkowy Turyngia: polityka preferowania
Open Source od 2019 r.
● UE: powstaje raport nt. polityki Open Source w poszczególnych
krajach członkowskich
– https://joinup.ec.europa.eu/collection/open-source-observatory-osor/knowledge-centre
Program pilotażowy w USA
● Motywacja:
– Zmniejszenie marnotrawstwa i duplikacji
● Roczne zakupy oprogramowania – 6 mld. USD, szacowane marnotrawstwo - ok. 2 mld.
USD
– Wsparcie innowacyjności wewnątrz instytucji rządowych
– Wykorzystanie wkładu społeczności spoza instytucji rządowych
– Umożliwienie ponownego wykorzystania oprogramowania poza rządem federalnym
●
W 2016 roku Administracja USA ogłosiła „Federal Source Code Policy”
– Wymaganie międzyinstytucjonalne: cały nowy kod produkowany na zamówienie
ma być udostępniany dla wszystkich agencji federalnych
– Wymaganie publiczne: 3-letni program pilotażowy, polegający na udostępnianiu
przynajmniej 20% wytworzonego kodu jako Open Source
● W 2019 roku Uniwersytet Harvarda opublikował raport
Dane analizowane przez UH
Liczba agencji federalnych 23
Liczba podmiotów zależnych 130
Liczba repozytoriów 5672
Okres w którym wykonano analizę 16 gru 2009 – 26 sty 2019
Całkowita liczba interakcji 191719
Liczba rozwidleń (ang. fork) 58259
Liczba zgłoszonych problemów (ang. issue) 23455
Liczba próśb o zintegrowanie (ang. pull request) 27176
Liczba oznaczeń gwiazdką (ang. star) 82829
Repozytoria agencji NASA
Całkowite zaangażowanie w 2008-2019
Liczba interakcji Liczba repozytoriów
>10000 1
5001 do 10000 1
1001 do 5000 14
501 do 1000 31
101 do 500 228
51 do 100 208
11 do 50 957
2 do 10 1986
1 577
0 1169
Repozytoria z największym
zaangażowaniem
●
Górne 20 repozytoriów odpowiada za 41% zaangażowania
● Agencje średnio odpowiadają na 96% próśb o zintegrowanie zmiany i
zamykają 63% zgłoszeń problemów
– Nie mniej jednak agencje bardzo się od siebie różnią w tym zakresie
●
5 repozytoriów z największym poziomem zaangażowania
1. openmct od NASA: aplikacja webowa do kontroli misji
2. Dshell od Dep. Obr.: aplikacja do analizy ruchu sieciowego
3. SIMP od Dep. Obr.: aplikacja do budowania sieci komputerowych
4. data od GSA: kolekcja zbiorów danych
5. mct od NASA: aplikacja desktopowa do kontroli misji
Wykres całkowitej liczby federalnych
repozytoriów
Analiza jakościowa
● Dlaczego społeczność zaangażowała się w niewielką
liczbę repozytoriów-supergwiazd?
● Rozmawiano z 10 ekspertami z sektora publicznego,
prywatnego i non-profit, z dwoma grupami fokusowymi, 12
pracownikami federalnymi i przeanalizowano literaturę
DREAM CODE
● Discoverability – łatwość znajdowania repozytoriów
● Reusability – kod umożliwia ponowne użycie
● End user – tworzone dla konkretnej grupy docelowej
● Applicability elsewhere – uniwersalność funkcjonalna
● Maintenance – utrzymywanie kodu po jego publikacji
● Community building – zaangażowanie w społeczność
● Open origins – oprogramowanie tworzone w otwarty sposób
● Documentation – czytelna dokumentacja
● Explicit licensing – jasno określona licencja
Obserwacje
● Agencje nie wiedziały jak interpretować sformułowanie
„20% kodu źródłowego”
● Agencje nie upubliczniały tych projektów, których
upublicznienie przyniosłyby najwięcej korzyści
● Agencje nie wiedziały, jak budować społeczność Open
Source
– najczęściej zgłaszany był pomysł zatrudnienia „animatorów
społeczności Open Source”
Rekomendacje
● Zmienić politykę na „upublicznianie 100% kodu źródłowego, za
wyjątkiem uzasadnionych przypadków”
● Szkolić pracowników zajmujących się zakupami oprogramowania
● Opracować politykę Open Source wspólnie przez szefów działów
informatycznych poszczególnych instytucji rządowych
● Stworzyć centralny rządowy zespół konsultantów ds.
Open Source na potrzeby instytucji rządowych
● Przeanalizować konsekwencje programu pilotażowego w
zakresie: przyniesionych oszczędności, demografii użytkowników,
wpływu wybranej licencji na zaangażowanie, wpływu rodzaju
oprogramowania na zaangażowanie
Studium przypadku: OpenStack
● 2009: NASA rozpoczyna projekt Nebula
● 2010: NASA we współpracy z Rackspace inicjuje projekt
OpenStack
● 2020:
– 100+ tys. członków społeczności
– 693 firmy
– 184 kraje
– 20M+ linii kodu
Gotowy zestaw rozwiązań do współpracy
na dużą skalę
●
Fundacja OpenStack
●
Zespół „core team” dla każdego podprojektu
●
Recenzja kodu (Gerrit) i ściśle określone reguły akceptacji kodu:
– Ani jednego weta od zespołu „core team”
– Przynajmniej dwóch członków „core team” zaakceptowało kod
– Przeszły testy automatyczne (zuul)
●
Ciągła integracja
●
Modularna budowa kodu
●
Narzędzie do utrzymywania własnych zmian w kodzie przez
pojedynczą organizację (openstack/git-upstream)
Bibliografia
● Jake Rashbass, Mairi Robertson, David Eaves, Thomas Patterson, The People’s Code: An
analysis of public engagement with the US Federal Government’s Open Source Pilot Program,
2019, Harvard Kennedy School of Government,
https://ash.harvard.edu/files/ash/files/20190506_pae_final_ash.pdf
● Nagle, Frank, Government Technology Policy, Social Value, and National Competitiveness,
March 3, 2019, Harvard Business School Strategy Unit Working Paper No. 19-103,
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3355486
● Anna Shipman, The Benefits of Coding in the Open, 2017, UK Government Digital Service,
https://gds.blog.gov.uk/2017/09/04/the-benefits-of-coding-in-the-open/
● Karl Fogel, Producing Open Source Software: How to Run a Successful Free Software Project,
version 2.3168, 2019, http://producingoss.com
● Christopher Tozzi, For Fun and Profit: A History of the Free and Open Source Software
Revolution, 2017, MIT Press
● Eric S. Raymond, The Cathedral and the Bazaar, version 3.0, 2000,
http://www.catb.org/~esr/writings/cathedral-bazaar/
● Eric S. Raymond, Homesteading the Noosphere, version 3.0, 2000,
http://www.catb.org/~esr/writings/cathedral-bazaar/homesteading/
Szkolenie z prowadzenia projektu
Open Source
●  Jak zacząć projekt Open Source
●  Infrastruktura techniczna
●  Infrastruktura społeczno-polityczna
●  Udział jako firma lub instytucja
●  Komunikacja
●  Zarządzanie codzienną pracą i publikowaniem oprogramowania
●  Aspekty prawne: licencje, prawa autorskie, znaki handlowe i patenty
Podsumowanie
● Zalety FOSS: cena, bezpieczeństwo, prywatność, wiarygodność, jakość, zwinność,
standaryzacja, współpraca pomiędzy instytucjami, transparentność instytucji,
wyklarowanie się kwestii własności intelektualnej
●
Wnioski z programu pilotażowego w USA
– Wniosek ilościowy – 20 najbardziej popularnych repozytoriów odpowiada za 40% zaangażowania
– Wnioski jakościowe: DREAM CODE
● Wybrane rekomendacje
– Zmienić politykę na „upublicznianie 100% kodu źródłowego, za wyjątkiem uzasadnionych
przypadków”
– Szkolić pracowników zajmujących się zakupami oprogramowania
– Opracować politykę Open Source wspólnie przez szefów działów informatycznych
poszczególnych instytucji rządowych
– Stworzyć centralny rządowy zespół konsultantów ds. Open Source na potrzeby instytucji
rządowych
●
OpenStack przykładem współpracy setek instytucji nad projektem Open Source
Pytania?
?
Informacje prawne / Legal notes
● Font – FreeSans, GNU GPL 3.0, https://www.gnu.org/software/freefont/
● Icons – OpenSymbol font, MPL 2.0/Apache 2.0, https://documentfoundation.org
● Capitol building vector clipart – public domain, https://all-free-download.com/free-
vector/download/us-capitol-building-clip-art_22770.html
● Satellite image of Europe – Pixabay License, Pixabay.com
● FSF Logo - CC BY-SA 3.0, https://commons.wikimedia.org/wiki/File:FSF-Logo_part.svg
● OSI Logo - CC BY 4.0, https://opensource.org/node/442
● OpenStack Logo – for license see: https://www.openstack.org/brand/openstack-logo/
● Screenshot of NASA GitHub repository – Fair Use, https://github.com/nasa
● Screenshot of NASA’s openmct application – Fair Use, taken from: Jake Rashbass,
Mairi Robertson, David Eaves, Thomas Patterson, The People’s Code: An analysis of
public engagement with the US Federal Government’s Open Source Pilot Program,
2019, Harvard Kennedy School of Government,
https://ash.harvard.edu/files/ash/files/20190506_pae_final_ash.pdf

More Related Content

Similar to Oprogramowanie Open Source w instytucjach publicznych

Wydanie II. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...
Wydanie II. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...Wydanie II. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...
Wydanie II. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...Andrzej Sobczak
 
Zmierzyć smartfon, lodówkę i Facebooka - jaka będzie przyszłość pomiaru ruchu...
Zmierzyć smartfon, lodówkę i Facebooka - jaka będzie przyszłość pomiaru ruchu...Zmierzyć smartfon, lodówkę i Facebooka - jaka będzie przyszłość pomiaru ruchu...
Zmierzyć smartfon, lodówkę i Facebooka - jaka będzie przyszłość pomiaru ruchu...Polish Internet Research
 
"Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -...
"Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -..."Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -...
"Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -...krakspot
 
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...Sotrender
 
10. Analizowanie potrzeb klienta i projektowanie struktury baz danych
10. Analizowanie potrzeb klienta i projektowanie struktury baz danych10. Analizowanie potrzeb klienta i projektowanie struktury baz danych
10. Analizowanie potrzeb klienta i projektowanie struktury baz danychkalaxq
 
Universal design - Komitywa / K2, Maciej Lipiec
Universal design - Komitywa / K2, Maciej LipiecUniversal design - Komitywa / K2, Maciej Lipiec
Universal design - Komitywa / K2, Maciej LipiecTomasz Karwatka
 
Jak zacząć. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...
Jak zacząć. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...Jak zacząć. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...
Jak zacząć. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...CyfrowePanstwo.pl
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Future Processing
 
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...Piotr Biegun
 
Tomasz Muter (@tommuter) - aplikacje mobilne - Bootstrap Maj 2012
Tomasz Muter (@tommuter) -  aplikacje mobilne - Bootstrap Maj 2012Tomasz Muter (@tommuter) -  aplikacje mobilne - Bootstrap Maj 2012
Tomasz Muter (@tommuter) - aplikacje mobilne - Bootstrap Maj 2012Tomasz Muter
 
Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...
Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...
Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...Aleksander Kuczek
 
Otwarte Dane i Hakaton Otwartych Danych
Otwarte Dane i Hakaton Otwartych DanychOtwarte Dane i Hakaton Otwartych Danych
Otwarte Dane i Hakaton Otwartych DanychLukasz Jachowicz
 
Program eContentplus
Program eContentplusProgram eContentplus
Program eContentpluskontaktowy.eu
 
Aplikacje i serwisy intranetowe w chmurze publicznej - transkrypt webinarium IDG
Aplikacje i serwisy intranetowe w chmurze publicznej - transkrypt webinarium IDGAplikacje i serwisy intranetowe w chmurze publicznej - transkrypt webinarium IDG
Aplikacje i serwisy intranetowe w chmurze publicznej - transkrypt webinarium IDGJarek Sokolnicki
 
Sektorowe programy B+R w 2017 dla firm
Sektorowe programy B+R w 2017 dla firmSektorowe programy B+R w 2017 dla firm
Sektorowe programy B+R w 2017 dla firmOpen Concept
 

Similar to Oprogramowanie Open Source w instytucjach publicznych (20)

User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
 
Wydanie II. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...
Wydanie II. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...Wydanie II. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...
Wydanie II. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...
 
Zmierzyć smartfon, lodówkę i Facebooka - jaka będzie przyszłość pomiaru ruchu...
Zmierzyć smartfon, lodówkę i Facebooka - jaka będzie przyszłość pomiaru ruchu...Zmierzyć smartfon, lodówkę i Facebooka - jaka będzie przyszłość pomiaru ruchu...
Zmierzyć smartfon, lodówkę i Facebooka - jaka będzie przyszłość pomiaru ruchu...
 
O1.03
O1.03O1.03
O1.03
 
"Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -...
"Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -..."Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -...
"Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -...
 
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...
 
10. Analizowanie potrzeb klienta i projektowanie struktury baz danych
10. Analizowanie potrzeb klienta i projektowanie struktury baz danych10. Analizowanie potrzeb klienta i projektowanie struktury baz danych
10. Analizowanie potrzeb klienta i projektowanie struktury baz danych
 
Kraków Living Lab
Kraków Living LabKraków Living Lab
Kraków Living Lab
 
Projektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacjiProjektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacji
 
Oss w software house
Oss w software houseOss w software house
Oss w software house
 
Universal design - Komitywa / K2, Maciej Lipiec
Universal design - Komitywa / K2, Maciej LipiecUniversal design - Komitywa / K2, Maciej Lipiec
Universal design - Komitywa / K2, Maciej Lipiec
 
Jak zacząć. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...
Jak zacząć. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...Jak zacząć. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...
Jak zacząć. Analiza rozwiązań technologicznych pomocnych przy budowie Otwarte...
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.
 
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
 
Tomasz Muter (@tommuter) - aplikacje mobilne - Bootstrap Maj 2012
Tomasz Muter (@tommuter) -  aplikacje mobilne - Bootstrap Maj 2012Tomasz Muter (@tommuter) -  aplikacje mobilne - Bootstrap Maj 2012
Tomasz Muter (@tommuter) - aplikacje mobilne - Bootstrap Maj 2012
 
Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...
Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...
Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...
 
Otwarte Dane i Hakaton Otwartych Danych
Otwarte Dane i Hakaton Otwartych DanychOtwarte Dane i Hakaton Otwartych Danych
Otwarte Dane i Hakaton Otwartych Danych
 
Program eContentplus
Program eContentplusProgram eContentplus
Program eContentplus
 
Aplikacje i serwisy intranetowe w chmurze publicznej - transkrypt webinarium IDG
Aplikacje i serwisy intranetowe w chmurze publicznej - transkrypt webinarium IDGAplikacje i serwisy intranetowe w chmurze publicznej - transkrypt webinarium IDG
Aplikacje i serwisy intranetowe w chmurze publicznej - transkrypt webinarium IDG
 
Sektorowe programy B+R w 2017 dla firm
Sektorowe programy B+R w 2017 dla firmSektorowe programy B+R w 2017 dla firm
Sektorowe programy B+R w 2017 dla firm
 

Oprogramowanie Open Source w instytucjach publicznych

  • 1. Oprogramowanie Open Source w instytucjach publicznych Aleksander Korzyński www.akorzy.com 21 stycznia 2020 Centralny Dom Technologii www.cdt.pl Copyright © 2020 Aleksander Korzyński. Niniejsza prezentacja została upubliczniona na licencji Creative Commons-Uznanie autorstwa-Bez utworów pochodnych 4.0 Międzynarodowa (CC-BY-ND 4.0 Int.), za wyjątkiem obrazów, ikon i czcionek, których licencje opisano na ostatnim slajdzie.
  • 2. Plan prezentacji Open Source USA: 2016 – 2019 ● Motywacja ● Analiza ● Wnioski – DREAM CODE
  • 3. O mnie ● 2007: dyplom mgr inż. informatyki (EiTI PW) ● Praca jako informatyk w Holandii i Wielkiej Brytanii – Duże farmy serwerów oparte na Open Source, m.in. Linux i OpenStack ● 2003: pierwsze doświadczenia z Open Source: LAME, Minix ● Byli pracodawcy: ClusterVision, Hewlett-Packard Enterprise ● Byli klienci: University of Cambridge, University of Birmingham ● Obecnie niezależny konsultant i szkoleniowiec
  • 5. Czym jest FOSS – Free and Open‑Source Software? Moja definicja: oprogramowanie, które nie ma kontrolującego właściciela, ale jest własnością społeczności, która może je w dowolny sposób używać, modyfikować i współdzielić. „free software” - 4 wolności „open source software” - 10 warunków
  • 6. Zalety stosowania FOSS – cz. 1 ● $ Zwykle niższa cena – Ograniczenie marnotrawstwa i duplikacji – Wielu potencjalnych dostawców (unikanie vendor lock-in) ● Konkurencja obniża cenę ● Możliwość zmiany dostawcy ● Możliwość rozszerzenia funkcjonalności przez dowolnego dostawcę – Brak konieczności podpisywania długoterminowych kontraktów i płacenia za wsparcie techniczne, jeśli nie ma takiej potrzeby
  • 7. Zalety stosowania FOSS – cz. 2 ● ☑ Wyższa prywatność, bezpieczeństwo i wiarygodność – Przejrzystość działania programu ●  Potencjalnie wysoka „zwinność”, tzn. krótki czas od postawienia wymagania do wprowadzenia zmiany
  • 8. Zalety kodowania w otwarty sposób – cz. 1 ● ☑ Bezpieczeństwo, wiarygodność i jakość – Programiści inaczej piszą kod, jeśli wiedzą, że zostanie upubliczniony – Publiczny audyt bezpieczeństwa – Wysoka dokładność zgłoszeń błędów w programie – Potencjalnie duża skala puli programistów ● $ Oszczędność – Możliwość współdzielenia kodu przez różne instytucje publiczne pomimo zróżnicowanych wymagań
  • 9. Zalety kodowania w otwarty sposób – cz. 2 ● ☺ Prostsza współpraca pomiędzy instytucjami publicznymi – Standaryzacja wytwarzanego oprogramowania, metodyki pracy i aplikacji ułatwiających współpracę w zespole ●  Zwiększona transparentność pracy instytucji publicznych ●  Wyklarowanie się kwestii własności intelektualnej ●  Łatwiej jest kodować w sposób otwarty niż otworzyć uprzednio zamknięte oprogramowanie
  • 10. Powody do ostrożności ● Potencjalne zagrożenia dla bezpieczeństwa narodowego lub prywatności obywateli ● Zagrożenia dla systemów rządowych ● Może nie być gwarantowanego wsparcia technicznego ● Ograniczenia prawne związane z upublicznieniem technologii (np. regulacje dot. handlu bronią)
  • 11. Europa: przykłady stosowania Open Source w instytucjach publicznych, cz. 1 ● Francja: polityka preferowania Open Source od 2012 r. – Uniwersytet Harvarda opublikował niezależną analizę porównawczą – Wzrost o 0,6% - 5,4% rocznie w liczbie firm używających Open Source – Wzrost o 9% - 18% rocznie w liczbie informatycznych start-upów – Wzrost o 6,6% - 14% rocznie w liczbie pracowników na stanowiskach związanych z informatyką – Spadek o 5% - 16% w liczbie patentów na oprogramowanie – Wszystkie powyższe pomagają zwiększyć narodową produktywność i konkurencyjność – Wzrost francuskiego wkładu w Open Source – szacuje się, że o równowartość 20 mln dolarów rocznie w hipotetycznym wynagrodzeniu programistów – W ogólności rządowa polityka technologiczna preferująca Open Source może mieć pozytywny wpływ zarówno na narodową konkurencyjność jak i na globalną wartość społeczną
  • 12. Europa: przykłady stosowania Open Source w instytucjach publicznych, cz. 2 ● Francja: wyszukiwarka oprogramowania Open Source na potrzeby instytucji publicznych – http://www.comptoir-du-libre.org ● UK: punkt 12. „Standardu świadczenia usług”: „Make new source code open” – https://www.gov.uk/service-manual/service-standard ● Niemiecki kraj związkowy Turyngia: polityka preferowania Open Source od 2019 r. ● UE: powstaje raport nt. polityki Open Source w poszczególnych krajach członkowskich – https://joinup.ec.europa.eu/collection/open-source-observatory-osor/knowledge-centre
  • 13. Program pilotażowy w USA ● Motywacja: – Zmniejszenie marnotrawstwa i duplikacji ● Roczne zakupy oprogramowania – 6 mld. USD, szacowane marnotrawstwo - ok. 2 mld. USD – Wsparcie innowacyjności wewnątrz instytucji rządowych – Wykorzystanie wkładu społeczności spoza instytucji rządowych – Umożliwienie ponownego wykorzystania oprogramowania poza rządem federalnym ● W 2016 roku Administracja USA ogłosiła „Federal Source Code Policy” – Wymaganie międzyinstytucjonalne: cały nowy kod produkowany na zamówienie ma być udostępniany dla wszystkich agencji federalnych – Wymaganie publiczne: 3-letni program pilotażowy, polegający na udostępnianiu przynajmniej 20% wytworzonego kodu jako Open Source ● W 2019 roku Uniwersytet Harvarda opublikował raport
  • 14. Dane analizowane przez UH Liczba agencji federalnych 23 Liczba podmiotów zależnych 130 Liczba repozytoriów 5672 Okres w którym wykonano analizę 16 gru 2009 – 26 sty 2019 Całkowita liczba interakcji 191719 Liczba rozwidleń (ang. fork) 58259 Liczba zgłoszonych problemów (ang. issue) 23455 Liczba próśb o zintegrowanie (ang. pull request) 27176 Liczba oznaczeń gwiazdką (ang. star) 82829
  • 16.
  • 17. Całkowite zaangażowanie w 2008-2019 Liczba interakcji Liczba repozytoriów >10000 1 5001 do 10000 1 1001 do 5000 14 501 do 1000 31 101 do 500 228 51 do 100 208 11 do 50 957 2 do 10 1986 1 577 0 1169
  • 18. Repozytoria z największym zaangażowaniem ● Górne 20 repozytoriów odpowiada za 41% zaangażowania ● Agencje średnio odpowiadają na 96% próśb o zintegrowanie zmiany i zamykają 63% zgłoszeń problemów – Nie mniej jednak agencje bardzo się od siebie różnią w tym zakresie ● 5 repozytoriów z największym poziomem zaangażowania 1. openmct od NASA: aplikacja webowa do kontroli misji 2. Dshell od Dep. Obr.: aplikacja do analizy ruchu sieciowego 3. SIMP od Dep. Obr.: aplikacja do budowania sieci komputerowych 4. data od GSA: kolekcja zbiorów danych 5. mct od NASA: aplikacja desktopowa do kontroli misji
  • 19. Wykres całkowitej liczby federalnych repozytoriów
  • 20.
  • 21. Analiza jakościowa ● Dlaczego społeczność zaangażowała się w niewielką liczbę repozytoriów-supergwiazd? ● Rozmawiano z 10 ekspertami z sektora publicznego, prywatnego i non-profit, z dwoma grupami fokusowymi, 12 pracownikami federalnymi i przeanalizowano literaturę
  • 22. DREAM CODE ● Discoverability – łatwość znajdowania repozytoriów ● Reusability – kod umożliwia ponowne użycie ● End user – tworzone dla konkretnej grupy docelowej ● Applicability elsewhere – uniwersalność funkcjonalna ● Maintenance – utrzymywanie kodu po jego publikacji ● Community building – zaangażowanie w społeczność ● Open origins – oprogramowanie tworzone w otwarty sposób ● Documentation – czytelna dokumentacja ● Explicit licensing – jasno określona licencja
  • 23. Obserwacje ● Agencje nie wiedziały jak interpretować sformułowanie „20% kodu źródłowego” ● Agencje nie upubliczniały tych projektów, których upublicznienie przyniosłyby najwięcej korzyści ● Agencje nie wiedziały, jak budować społeczność Open Source – najczęściej zgłaszany był pomysł zatrudnienia „animatorów społeczności Open Source”
  • 24. Rekomendacje ● Zmienić politykę na „upublicznianie 100% kodu źródłowego, za wyjątkiem uzasadnionych przypadków” ● Szkolić pracowników zajmujących się zakupami oprogramowania ● Opracować politykę Open Source wspólnie przez szefów działów informatycznych poszczególnych instytucji rządowych ● Stworzyć centralny rządowy zespół konsultantów ds. Open Source na potrzeby instytucji rządowych ● Przeanalizować konsekwencje programu pilotażowego w zakresie: przyniesionych oszczędności, demografii użytkowników, wpływu wybranej licencji na zaangażowanie, wpływu rodzaju oprogramowania na zaangażowanie
  • 25. Studium przypadku: OpenStack ● 2009: NASA rozpoczyna projekt Nebula ● 2010: NASA we współpracy z Rackspace inicjuje projekt OpenStack ● 2020: – 100+ tys. członków społeczności – 693 firmy – 184 kraje – 20M+ linii kodu
  • 26. Gotowy zestaw rozwiązań do współpracy na dużą skalę ● Fundacja OpenStack ● Zespół „core team” dla każdego podprojektu ● Recenzja kodu (Gerrit) i ściśle określone reguły akceptacji kodu: – Ani jednego weta od zespołu „core team” – Przynajmniej dwóch członków „core team” zaakceptowało kod – Przeszły testy automatyczne (zuul) ● Ciągła integracja ● Modularna budowa kodu ● Narzędzie do utrzymywania własnych zmian w kodzie przez pojedynczą organizację (openstack/git-upstream)
  • 27. Bibliografia ● Jake Rashbass, Mairi Robertson, David Eaves, Thomas Patterson, The People’s Code: An analysis of public engagement with the US Federal Government’s Open Source Pilot Program, 2019, Harvard Kennedy School of Government, https://ash.harvard.edu/files/ash/files/20190506_pae_final_ash.pdf ● Nagle, Frank, Government Technology Policy, Social Value, and National Competitiveness, March 3, 2019, Harvard Business School Strategy Unit Working Paper No. 19-103, https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3355486 ● Anna Shipman, The Benefits of Coding in the Open, 2017, UK Government Digital Service, https://gds.blog.gov.uk/2017/09/04/the-benefits-of-coding-in-the-open/ ● Karl Fogel, Producing Open Source Software: How to Run a Successful Free Software Project, version 2.3168, 2019, http://producingoss.com ● Christopher Tozzi, For Fun and Profit: A History of the Free and Open Source Software Revolution, 2017, MIT Press ● Eric S. Raymond, The Cathedral and the Bazaar, version 3.0, 2000, http://www.catb.org/~esr/writings/cathedral-bazaar/ ● Eric S. Raymond, Homesteading the Noosphere, version 3.0, 2000, http://www.catb.org/~esr/writings/cathedral-bazaar/homesteading/
  • 28. Szkolenie z prowadzenia projektu Open Source ●  Jak zacząć projekt Open Source ●  Infrastruktura techniczna ●  Infrastruktura społeczno-polityczna ●  Udział jako firma lub instytucja ●  Komunikacja ●  Zarządzanie codzienną pracą i publikowaniem oprogramowania ●  Aspekty prawne: licencje, prawa autorskie, znaki handlowe i patenty
  • 29. Podsumowanie ● Zalety FOSS: cena, bezpieczeństwo, prywatność, wiarygodność, jakość, zwinność, standaryzacja, współpraca pomiędzy instytucjami, transparentność instytucji, wyklarowanie się kwestii własności intelektualnej ● Wnioski z programu pilotażowego w USA – Wniosek ilościowy – 20 najbardziej popularnych repozytoriów odpowiada za 40% zaangażowania – Wnioski jakościowe: DREAM CODE ● Wybrane rekomendacje – Zmienić politykę na „upublicznianie 100% kodu źródłowego, za wyjątkiem uzasadnionych przypadków” – Szkolić pracowników zajmujących się zakupami oprogramowania – Opracować politykę Open Source wspólnie przez szefów działów informatycznych poszczególnych instytucji rządowych – Stworzyć centralny rządowy zespół konsultantów ds. Open Source na potrzeby instytucji rządowych ● OpenStack przykładem współpracy setek instytucji nad projektem Open Source
  • 31. Informacje prawne / Legal notes ● Font – FreeSans, GNU GPL 3.0, https://www.gnu.org/software/freefont/ ● Icons – OpenSymbol font, MPL 2.0/Apache 2.0, https://documentfoundation.org ● Capitol building vector clipart – public domain, https://all-free-download.com/free- vector/download/us-capitol-building-clip-art_22770.html ● Satellite image of Europe – Pixabay License, Pixabay.com ● FSF Logo - CC BY-SA 3.0, https://commons.wikimedia.org/wiki/File:FSF-Logo_part.svg ● OSI Logo - CC BY 4.0, https://opensource.org/node/442 ● OpenStack Logo – for license see: https://www.openstack.org/brand/openstack-logo/ ● Screenshot of NASA GitHub repository – Fair Use, https://github.com/nasa ● Screenshot of NASA’s openmct application – Fair Use, taken from: Jake Rashbass, Mairi Robertson, David Eaves, Thomas Patterson, The People’s Code: An analysis of public engagement with the US Federal Government’s Open Source Pilot Program, 2019, Harvard Kennedy School of Government, https://ash.harvard.edu/files/ash/files/20190506_pae_final_ash.pdf