W prezentacji omówiono czym jest Open Source, jakie są zalety używania go w instytucjach publicznych, a także po co upubliczniać kod źródłowy oprogramowania wytwarzanego na zamówienie instytucji publicznych. Omówiono też amerykański program pilotażowy z lat 2016-2019, w ramach którego agencje rządu federalnego miały obowiązek upubliczniać 20% kodu źródłowego wytwarzanego na własne potrzeby.
Autorem jest mgr inż. Aleksander Korzyński, informatyk z wieloletnim doświadczeniem we wdrażaniu oprogramowania Open Source.
Była to pierwsza prelekcja z całego cyklu, o którym na bieżąco będę informował na fanpage'u: https://www.facebook.com/WarsawFOSS
Nagranie wideo tej prezentacji jest dostępne na YouTube i Facebooku:
https://youtu.be/3R1iGT0lmDM
https://www.facebook.com/WarsawFOSS/videos/210198723391788/
Grupa meetup:
https://www.meetup.com/Warsaw-Free-and-Open-Source-Software-FOSS-Meetup-Group/
Event na facebooku:
https://www.facebook.com/events/2866516193434036/
Zapraszam również na stronę Centralnego Domu Technologii, który umożliwił zorganizowanie tej prelekcji.
https://cdt.pl/
English title: Open Source Software in the Public Sector
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
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
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