Petr Brůha
udělat průzkum využití moderních vývojových nástrojů na Kivu doplň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 Open source projekty a jejich vývoj 2
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 Open source projekty a jejich vývoj 3
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) Open source projekty a jejich vývoj 4
Open source projekty a jejich vývoj 5
Open source projekty a jejich vývoj 6
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 skupina LICS skupina Open source projekty a jejich vývoj 7
Open source projekty a jejich vývoj 8
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 ( 2) Nutná registrace instituce (název univerzity, adresa, web univerzity, …) t-academic-license.jsp t-academic-license.jsp 3) Zadání univerzitního u společně s uživatelským jménem Open source projekty a jejich vývoj 9
Open source projekty a jejich vývoj 10
Open source projekty a jejich vývoj 11
Open source projekty a jejich vývoj 12
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ý. logic.com/software/jazzconnect-intellij.html logic.com/software/jazzconnect-intellij.html Open source projekty a jejich vývoj 13
Open source projekty a jejich vývoj 14
Open source projekty a jejich vývoj 15
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) Open source projekty a jejich vývoj 16
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á Open source projekty a jejich vývoj 17
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 - € 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á Open source projekty a jejich vývoj 18
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 Open source projekty a jejich vývoj 19
TeamCity server Jeho úkolem je sledovat všechny připojené sestavovací agenty Distribuovat ve frontě sestavení agentům Informovat o výsledcích vývojáře Na serveru neběží ani sestavení ani testy Potřebuje externí databázi (MySQL, PostgreSQL, Oracle, MS SQL ) Agent VCS Open source projekty a jejich vývoj 20
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 Open source projekty a jejich vývoj 21
Open source projekty a jejich vývoj 22
Open source projekty a jejich vývoj 23
IntelliJIDEA (plugin Hudson build monitor) Eclipse NetBeans Open source projekty a jejich vývoj 24
Open source projekty a jejich vývoj 25
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 Open source projekty a jejich vývoj 26
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 Open source projekty a jejich vývoj 27
Open source projekty a jejich vývoj 28