Wprowadzenie
Oprogramowanie typu open source stało się podstawą nowoczesnego tworzenia oprogramowania. Od struktur internetowych i baz danych do systemów operacyjnych i narzędzi programistycznych składniki typu open source obsługują większość aplikacji utworzonych obecnie. Zrozumienie sposobu efektywnego implementowania oprogramowania typu open source podczas zarządzania skojarzonymi zagrożeniami jest niezbędne dla zespołów programistycznych i organizacji.
Jednak korzystanie z oprogramowania open source wprowadza ważne zagadnienia, które organizacje muszą rozwiązać. Luki w zabezpieczeniach, zgodność licencji, zobowiązania prawne i łańcuch dostaw wymagają starannej uwagi. Organizacje, które nie mogą prawidłowo zarządzać zależnościami typu open source, mogą napotkać naruszenia zabezpieczeń, zobowiązania prawne, nieoczekiwane koszty i zakłócenia operacyjne.
Ten moduł zawiera kompleksowe wskazówki dotyczące implementowania oprogramowania open source w środowiskach przedsiębiorstwa. Dowiesz się, jak nowoczesne oprogramowanie jest tworzone za pomocą składników typu open source, rozumiesz obawy firmowe dotyczące zabezpieczeń i licencjonowania, zapoznasz się z typowymi licencjami typu open source i ich implikacjami oraz poznasz strategie efektywnego zarządzania oprogramowaniem typu open source.
Czego się uczysz
W tym module omówiono podstawową wiedzę na temat pracy z oprogramowaniem open source w środowiskach profesjonalnych:
Omówienie nowoczesnego tworzenia oprogramowania: Dowiesz się, jak tworzone są współczesne aplikacje, łącząc oryginalny kod z bibliotekami open source, strukturami i narzędziami. Dowiesz się, dlaczego organizacje wybierają składniki typu open source i poznają korzyści, które zapewniają, w tym szybsze opracowywanie, sprawdzone rozwiązania, pomoc techniczną społeczności i oszczędności kosztów.
Obawy firmowe dotyczące oprogramowania open source: Zapoznasz się z zabezpieczeniami, prawami i ryzykiem operacyjnym, z którymi borykają się organizacje podczas korzystania ze składników open source. Obejmuje to luki w zabezpieczeniach w zależnościach, wymagania dotyczące zgodności licencji, ryzyko łańcucha dostaw, niezamierzone lub porzucone projekty oraz wyzwanie związane z zarządzaniem tysiącami zależności w wielu aplikacjach.
Podstawy licencji typu open source: Poznasz różne kategorie licencji typu open source, od licencji permisywnych, takich jak MIT i Apache, które umożliwiają szerokie wykorzystanie komercyjne, do licencji typu copyleft, takich jak GPL, które wymagają użycia tej samej licencji dla dzieł pochodnych. Zrozumienie cech licencji ułatwia podejmowanie świadomych decyzji dotyczących tego, które składniki typu open source są odpowiednie dla projektów.
Implikacje licencyjne dotyczące oprogramowania komercyjnego: Dowiesz się, jak różne licencje wpływają na tworzenie oprogramowania komercyjnego, w tym ograniczenia dotyczące oprogramowania własnościowego, wymagania dotyczące ujawniania kodu źródłowego, wymagań dotyczących autorstwa i zgodności licencji. Ta wiedza uniemożliwia problemy prawne, które mogą mieć wpływ na zdolność organizacji do sprzedaży lub rozpowszechniania oprogramowania.
Strategie zarządzania składnikami open source: Poznasz praktyczne podejścia do bezpiecznego i zgodnego wdrażania oprogramowania typu open source, w tym utrzymywania spisu składników, skanowania pod kątem luk w zabezpieczeniach, śledzenia zobowiązań licencyjnych, ustanawiania procesów zatwierdzania i ciągłego monitorowania zależności za pomocą zautomatyzowanych narzędzi.
Cele szkolenia
Po ukończeniu tego modułu możesz wykonywać następujące czynności:
- Dowiedz się, jak nowoczesne oprogramowanie jest tworzone przy użyciu składników open source i korzyści, jakie zapewniają szybkość programowania, jakość i innowacje.
- Wyjaśnij obawy firmowe dotyczące oprogramowania open source, w tym luk w zabezpieczeniach, zgodności licencji, ryzyka łańcucha dostaw i wyzwań związanych z zarządzaniem zależnościami na dużą skalę.
- Opis typowych licencji typu open source , w tym MIT, Apache 2.0, GPL, BSD i innych licencji, zrozumienie ich kluczowych cech, uprawnień i ograniczeń.
- Oceń implikacje licencji na tworzenie oprogramowania komercyjnego, zrozumienie, które licencje są zgodne z zastrzeżonym oprogramowaniem i które wymagają ujawnienia kodu źródłowego.
- Zaimplementuj strategie zarządzania składnikami typu open source , w tym zarządzanie spisem, skanowanie luk w zabezpieczeniach, sprawdzanie zgodności licencji i ustanawianie przepływów pracy zatwierdzania dla nowych zależności.
Wymagania wstępne
Przed rozpoczęciem tego modułu należy dysponować następującymi informacjami:
- Informacje o tworzeniu oprogramowania: Podstawowa wiedza na temat tworzenia aplikacji, w tym korzystania z bibliotek, struktur i zależności.
- Znajomość pojęć związanych z metodykami DevOps: Zrozumienie ciągłej integracji, ciągłego dostarczania i cyklu życia tworzenia oprogramowania.
- Środowisko kontroli wersji: Podstawowe doświadczenie w pracy z usługą Git lub innymi systemami kontroli wersji, w których odbywa się zarządzanie zależnościami.
- Świadomość licencjonowania oprogramowania: Ogólne zrozumienie, że oprogramowanie ma warunki prawne dotyczące jego użytkowania, nawet jeśli nie zbadano szczegółowo określonych licencji.
Doświadczenie w pracy w organizacji, która dostarcza oprogramowanie jest korzystne, ale nie jest wymagane. Ten moduł zawiera podstawową wiedzę wymaganą do profesjonalnej pracy z oprogramowaniem open source.