OPEN SOURCE PROJEKTY A JEJICH VÝVOJ
Petr Brůha
29. 4. 2013
Open source projekty a jejich vývoj 2
CÍLE udělat průzkum využití moderních
vývojových nástrojů na Kivudoplňuji průzkum Jana Štěbetáka z
dokumentu Nástroje pro správu projektů SourceForge
seznámit se s licenční politikou pro open source projekty u JETBRAINS
vytvořit návod pro získání open source licencí u JETBRAINS
navrhnout a realizovat řešení pro vybranou výzkumnou skupinu
29. 4. 2013
Open source projekty a jejich vývoj 3
OBSAH vývojové nástroje v rámci výzkumných
skupin na KIVu licenční politika pro open source
projekty u JETBRAINS TeamCity (popis agentů, použití,
sestavení projektu, možné integrace, licenční politika)
Hudson (sestavení projektu, možné integrace, licenční politika)
TeamCity versus Hudson
29. 4. 2013
4
ÚVOD Nárůst počtu open source projektů Nástroje pro vývoj a správu projektů:
Repositáře kódu (Bitbucket, Github, Assembla, …)
Sociální sítě (Facebook, LinkedIn, IBM Connections)
Integrovaná vývojová prostředí (Eclipse, NetBeans, Microsoft Visual Studio, IntelliJ IDEA)
Sestavovací nástroje a servery (Ant, Maven, Hudson, TeamCity)
29. 4. 2013Open source projekty a jejich vývoj
Open source projekty a jejich vývoj 5
PRŮZKUM – VÝVOJOVÁ PROSTŘEDÍ
29. 4. 2013
Vývojová prostředí používaná na KIVu v roce 2012
24%
32%20%
24%
Procentuální zastoupení vývojových prostředí používaných na KIVu v roce
2012EclipseNetBeansMicrosoft Visual StudioIntelliJ IDEA
Open source projekty a jejich vývoj 6
PRŮZKUM – VÝVOJOVÁ PROSTŘEDÍ
29. 4. 2013
54%
30%
12%
3%
Procentuální zastoupení vývojových prostředí používaných studenty
předmětu ZSWI studenty v roce 2013Eclipse NetBeans
Microsoft Visual Studio
IntelliJ IDEA
Open source projekty a jejich vývoj 7
PRŮZKUM - SHRNUTÍ Pracovníci KIVu používají většinou
Netbeans Studenti bakalářského studia spíše
Eclipse Zájem o open source licence pro
vývojové prostředí IntelliJ IDEA od JETBRAINS projevily tyto skupiny:EEG/ERP skupinaLICS skupina
29. 4. 2013
Open source projekty a jejich vývoj 8
PRŮZKUM - REPOSITÁŘE KÓDU
29. 4. 2013
13%
50%6%
6%
6%
19%
Procentuální zastoupení repositářů kódu používaných na
KIVu v roce 2012
BitbucketGithubKatedrální svnAssemblaSourceForgeVlastní
Open source projekty a jejich vývoj 9
PRŮZKUM – SHRNUTÍ - BITBUCKET
Neomezený soukromý repositář kódu pro max. 5 vývojářů
Podporuje verzovací systémy Git a Mercurial
Možno získat nelimitovanou licenci pro neomezeně uživatelů:1) Uživatel musí mít vytvořený účet (
https://bitbucket.org)2) Nutná registrace instituce (název univerzity,
adresa, web univerzity, …)http://www.atlassian.com/software/views/bitbucket
-academic-license.jsp
3) Zadání univerzitního e-mailu společně s uživatelským jménem
29. 4. 2013
Open source projekty a jejich vývoj 10
PRŮZKUM – SOCIÁLNÍ SÍTĚ
29. 4. 2013
37%
41%
15%
4% 4%
Procentuální zastoupení sociálních sítí používaných na
KIVu v roce 2012
Facebook LinkedInIBM Develop-erWorks
IBM Con-nections
MediaWiki.org
Open source projekty a jejich vývoj 11
PRŮZKUM – KOMUNIKAČNÍ NÁSTROJE
29. 4. 2013
12%
12%
12%64%
Procentuální zastoupení komunikačních nástrojů na KIVu
v roce 2012
SkypeGoogle HangoutICQEmail
Open source projekty a jejich vývoj 12
PRŮZKUM – SYSTÉMY PRO VÝVOJ SOFTWARU
29. 4. 2013
5%5%
15%
75%
Procentuální zastoupení systémů pro vývoj softwaru používaných na KIVu v roce
2012 FlysprayRedmineJazzNepoužívají
Open source projekty a jejich vývoj 13
PRŮZKUM – SHRNUTÍ - JAZZ
Z hlediska správy projektu zajímal EEG/ERP skupinu nástroj Jazz. Skupina používá vývojové prostředí IntelliJ IDEA , pro které není plugin s bezplatnou open source licencí.
Jediným řešením je plugin JazzConnect-IntelliJ, který je placený.http://www.cm-logic.com/software/jazz
connect-intellij.html
29. 4. 2013
Open source projekty a jejich vývoj 14
PRŮZKUM – SPRÁVA DOKUMENTŮ
29. 4. 2013
57%29%
14%
Procentuální zastoupení nástrojů pro správu dokumentů používaných na Kivu v roce 2012
Google driveDropboxLokální úložiště
Open source projekty a jejich vývoj 15
PRŮZKUM – SESTAVOVACÍ NÁSTROJE
29. 4. 2013
8%
83%
8%
Procentuální zastoupení sestavovacích nástrojů na KIVu
v roce 2012
AntMavenMake
Open source projekty a jejich vývoj 16
PRŮZKUM - SHRNUTÍ Zájem výzkumných skupin SaCCo a
EEG/ERP skupiny o srovnání sestavovacích serverů TeamCity (od JETBRAINS) a Hudsonu (Eclipse Foundation project a java.net project)http://hudson-ci.org/http://www.jetbrains.com/teamcity/
29. 4. 2013
Open source projekty a jejich vývoj 17
LICENČNÍ POLITIKA U JETBRAINS
Produkt vývojové prostředí IntelliJ IDEA:Licence:
Commercial license - pro organizace a společnosti licence včetně 1 roku předplatném na vylepšení - €
629 +DPH stand-alone license - €449 + DPH
Personal licence - €179 + DPH Academic licence - €89 + DPH Classroom licence - neplacená Open source project licence - neplacená
29. 4. 2013
Open source projekty a jejich vývoj 18
LICENČNÍ POLITIKA PRO OPEN SOURCE PROJEKTY U JETBRAINS Produkt - Sestavovací server Team City:
Licence: Professional Server licence – neplacená
3 sestavovací agenti, 20 uživatelů, 20 konfigurací a to vše v rámci jednoho serveru
Enterprise Server Licence - €1799 + DPH neomezeně sestavovacích konfiguracíobnovení předplatného pro vylepšení -
€899/rok + DPH Build Agent Licence - €269/agent bez DPH
obnovení předplatného pro vylepšení - €134/rok + DPH
Open Source Licence - neplacená
29. 4. 2013
Open source projekty a jejich vývoj 19
OPEN SOURCE PROJECT LICENSE
Kritéria žádosti: Musíte být vedoucí projektu nebo vývojář. Na open source projektu pracujete po dobu
minimálně 3 měsíců. Vaše komunita je aktivní v rámci diskusního
fóra projektu. Musíte mít aktualizované novinky v rámci
projektu na svých stránkách.Pravidelně vytváříte nové verze vašeho
projektu.
29. 4. 2013
Open source projekty a jejich vývoj 20
TEAMCITY – ZÁKLADNÍ KOMPONENTY
TeamCity server Jeho úkolem je sledovat všechny připojené
sestavovací agentyDistribuovat ve frontě sestavení agentům Informovat o výsledcích vývojářeNa serveru neběží ani sestavení ani testyPotřebuje externí databázi (MySQL,
PostgreSQL, Oracle, MS SQL ) Agent VCS
29. 4. 2013
Open source projekty a jejich vývoj 21
TEAM CITY – POPIS AGENTŮ Sestavovací agent je software, který
skutečně provádí proces sestavení. Je nainstalován a nakonfigurován
odděleně od TeamCity serveru. Může být nainstalován na stejném
počítači jako server, ale je lepší jej nainstalovat na jiný počítač především kvůli výkonu serveru.
Sestavovací agenty mohou mít různé platformy, operační systémy a přednastavená prostředí, ve kterých otestujeme náš software.
29. 4. 2013
Open source projekty a jejich vývoj 22
TEAM CITY – SESTAVENÍ PROJEKTU
29. 4. 2013
Open source projekty a jejich vývoj 23
HUDSON – SESTAVENÍ PROJEKTU
29. 4. 2013
Open source projekty a jejich vývoj 24
HUDSON – MOŽNÁ INTEGRACE IntelliJIDEA (plugin Hudson build
monitor) Eclipse NetBeans
29. 4. 2013
Open source projekty a jejich vývoj 25
TEAM CITY – MOŽNÁ INTEGRACE
29. 4. 2013
Open source projekty a jejich vývoj 26
TEAMCITY VERSUS HUDSON TeamCity není vázaný pouze na vývojové
prostředí IntelliJ IDEA (MS Visual Studio, Eclipse, …)
TeamCity je neplacený pro malé projekty, ale omezen (3 sestavovací agenti, 20 uživatelů, 20 konfigurací)
Hudson je zdarma pod licencí Eclipse Public Licence – verze 1.0.
Možnost sestavení projektů na více strojích s různými platformami nabízí oba.
IntelliJ IDEA má podporu pro Hudson ve formě zásuvného modulu Hudson Build Monitor
29. 4. 2013
Open source projekty a jejich vývoj 27
ZÁVĚR 2. část průzkumu vývojových nástrojů
na KIVu Popsal jsem licenční politiku pro open
source projekty u JETBRAINS Získal open source licence pro vývojové
nástroje IntelliJ IDEA a TeamCity Porovnal jsem TeamCity a Hudson
29. 4. 2013
Open source projekty a jejich vývoj 28
DĚKUJI ZA POZORNOST
DOTAZY?
29. 4. 2013