Otwarte źródło otwarte. Czym jest open source i dlaczego jest ważne dla kryptowalut i otwartego blockchaina. Otwarty pakiet biurowy

Jak powstają programy komputerowe

Program komputerowy to lista instrukcji przekazywanych komputerowi w celu wykonania określonego zadania lub serii zadań. Komputery nie rozumieją języka angielskiego, więc programiści muszą przekazać te instrukcje komputerowi w języku, który komputer rozumie. Komputery mogą jednak pracować tylko z liczbami, co sprawia, że ​​język komputerowy jest bardzo trudny do zrozumienia dla ludzi.

Rozwiązaniem tego problemu jest stworzenie języka pośredniego, zrozumiałego dla ludzi i komputerów. Są to tak zwane języki programowania. Programiści tworzą listę instrukcji dla komputera w języku programowania, takim jak C, Pascal lub Fortran. Ta lista instrukcji jest znana jako kod źródłowy. Ma charakter tekstowy i jest czytelny dla ludzi - tych, którzy mówią danym językiem. Programiści wykonują całą swoją pracę w tym kodzie źródłowym, modyfikując instrukcje, aby naprawić błędy, dodać funkcje lub zmienić wygląd programy.

Kiedy programista myśli, że udoskonalił instrukcje dla swojego programu, używa specjalnego programu zwanego kompilatorem, aby przetłumaczyć jego teksty czytelne dla człowieka na liczby czytelne dla maszyny, które odpowiadają tym samym instrukcjom. Wynikowy plik jest użyteczny na komputerach, ale niezrozumiały dla ludzi. Nazywa się to kodem wynikowym. Wynikowy plik wykonywalny jest często określany jako binarny, od systemu liczbowego używanego przez komputer. To tłumaczenie z kodu źródłowego na binarny kod obiektowy jest procesem jednokierunkowym. Nie jest możliwe przetłumaczenie binarnego pliku wykonywalnego z powrotem na kod źródłowy.

wykonywalny- czego potrzebujesz, jeśli chcesz uruchomić i używać programu. Jest to zazwyczaj to, co otrzymujesz, kupując oprogramowanie w opakowaniu termokurczliwym w sklepie detalicznym. Kod źródłowy jest tym, czego potrzebujesz, jeśli chcesz zrozumieć, jak program działa wewnętrznie lub jeśli chcesz zmienić, dodać lub ulepszyć program. Jeśli masz kod źródłowy i odpowiedni kompilator, możesz utworzyć binarny plik wykonywalny, ale nie jest odwrotnie.

Co to jest oprogramowanie typu open source?

Oprogramowanie, które jest dostępne tylko w binarnym formacie wykonywalnym, jest zastrzeżone.

Oprogramowanie open source to oprogramowanie chronione prawami autorskimi, które jest rozpowszechniane jako kod źródłowy na podstawie umowy licencyjnej, która przyznaje użytkownikom specjalne prawa oprogramowanie, prawa normalnie zastrzeżone przez autora. Licencja ta zezwala wszystkim użytkownikom na tworzenie i dystrybucję binarnych kopii oprogramowania i kodu źródłowego bez wyraźnej zgody autora. Ponadto pozwala użytkownikom modyfikować kod źródłowy i redystrybuować zmodyfikowane kopie.

Co to znaczy

Zastanawiasz się, dlaczego Open Source jest ważne, ponieważ każdy programista w dowolnym miejscu na świecie może przeglądać kod źródłowy, poprawiać błędy, dodawać nowe funkcje i dostosowywać system bez ograniczeń. W ten sposób Linux był projektowany od samego początku i dlatego Linux jest bardzo stabilnym systemem z kilkoma błędami, szeroką obsługą sprzętu i zestawem funkcji, który rośnie tak szybko, że dostawcy zastrzeżonych systemów operacyjnych są zazdrośni. Fakt, że kod źródłowy jest otwarty do przeglądu przez ekspertów z całego świata, zapewnia szybkie wykrywanie i rozwiązywanie wszelkich problemów oraz dystrybucję poprawek bez ograniczeń. Jest to o wiele wydajniejsze i skuteczniejsze niż poleganie na korporacji, która wpycha gdzieś „dodatek serwisowy” w napięty harmonogram wydań. W końcu nie dostają zapłaty za pakiety serwisowe.

Naprawdę liczy się to, że oprogramowanie open source jest własnością społeczności. Jest to oprogramowanie utrzymywane przez społeczność osób (lub firm), które z niego korzystają. Jest dostępny bezpłatnie w Internecie i każdy może z niego korzystać. Co ważniejsze, użytkownicy są zachęcani do jej ulepszania. Dzieląc się naszymi ulepszeniami i pomysłami oraz łącząc nasze zasoby z tysiącami, a nawet milionami ludzi na całym świecie za pośrednictwem Internetu, społeczność open source może tworzyć wydajne, stabilne i niezawodne oprogramowanie przy bardzo niskich kosztach.

Ale społeczność open source to znacznie więcej niż ludzie, którzy piszą oprogramowanie. Każdy, kto korzysta z oprogramowania, uczestniczy w prawdziwej społeczności i ma głos. Nie musisz być programistą. Po prostu zgłaszając błąd autorowi programu lub pisząc prosty artykuł instruktażowy, przyczyniasz się do rozwoju społeczności i pomagasz ulepszać oprogramowanie. Oprogramowanie open source jest pisane, dokumentowane, rozpowszechniane i utrzymywane przez ludzi, którzy go używają. Oznacza to, że jest wrażliwy na twoje potrzeby, a nie na potrzeby korporacji, która próbuje ci go sprzedać.

Oczywiście wiele firm również przyczynia się do rozwoju oprogramowania open source, udostępniając swoją pracę całej społeczności, ponieważ znają korzyści płynące z otwartego oprogramowania. Oprogramowanie wspierane przez całą społeczność jest z natury lepsze i stabilniejsze, a coraz więcej firm zaczyna to doceniać.

Najważniejsze jest to, że oprogramowanie open source jest pisane przez ludzi, którzy używają go na co dzień, ludzi, którzy mają żywotny interes w tym, aby działało i działało dobrze. Nie próbują dodawać modnych funkcji, starają się podnieść jakość. Nie poświęcają czasu i pieniędzy na przekonywanie ludzi, że ich oprogramowanie jest świetne, spędzają je, próbując uczynić je doskonałym.

Zasoby

„Open Source” to znak handlowy opisujący licencje oprogramowania, które spełniają definicję Open Source. Znakiem towarowym zarządza Open Source Initiative, organizacja współpracująca, która uruchomiła Linuksa i ruch wolnego oprogramowania. Tylko oprogramowanie spełniające kryteria opisane w definicji open source może nazywać się open source.

Na długo przed pojawieniem się terminu „open source” istniała społeczność ludzi wyznających ideę „wolnego oprogramowania”, która odnosi się nie do kosztów, ale do swobody używania i modyfikowania (pomyśl o wolność jako „wolność słowa”, a nie „darmowe piwo”). Ta społeczność nadal aktywnie promuje ideały wolnego oprogramowania. Aby dowiedzieć się więcej na ten temat, odwiedź Fundację Wolnego Oprogramowania https://www.fsf.org/.

Aby zapoznać się ze szczegółową dyskusją na temat tego, jak i dlaczego tworzone jest oprogramowanie typu open source, przeczytaj znakomity esej „The Cathedral and the Bazaar” autorstwa Erica S. Raymonda.

Jeśli zastanawiasz się nad oprogramowaniem typu open source dla swojej firmy, odwiedź stronę The Open Source Initiative, aby dowiedzieć się więcej. Mimo to zajrzyj i dowiedz się, w jaki sposób społeczność open source może zwiększyć stabilność, skalowalność i moc Twojej firmy, jednocześnie realnie obniżając koszty.


Większość używanego oprogramowania jest rozpowszechniana w formie skompilowanej. Sugeruje to, że kod źródłowy takich programów przechodzi przez specjalny kompilator, który konwertuje go na język zrozumiały dla komputera. Z kolei oprogramowanie, które wykorzystuje otwarte źródło, jest zupełnym przeciwieństwem.

Taki kod z reguły jest dystrybuowany wraz ze skompilowaną wersją programu, co umożliwia jego modyfikację lub ulepszenie w każdy możliwy sposób, aby móc wykonywać szerszy zakres zadań. Twórcy takich programów wierzą, że z biegiem czasu open source sprawi, że oprogramowanie stanie się bardziej użyteczne i pozbędzie się dużej liczby błędów.

Istnieje kilka kryteriów kwalifikacyjnych dla programów open source:

  • bezpłatna dystrybucja pakietu oprogramowania, ale jednocześnie może być częścią komercyjnego projektu;
  • obowiązkowe stosowanie kodu źródłowego;
  • możliwość edytowania kodu źródłowego przez każdego;
  • możliwość dystrybucji zmodyfikowanych wersji programów;
  • nie powinno być wymogu wyłączania innego oprogramowania lub ingerowania w jego działanie.

Rozważmy jeden z najbardziej uderzających przykładów oprogramowania towarzyszącego otwartemu kodowi źródłowemu, który został rozpowszechniony na całym świecie. Na początku lat 90. fiński student Linus Torvalds opracował zupełnie nową metodę system operacyjny, oparty na Uniksie, który jest dziś znany jako Linuks. System został udostępniony na podstawie umowy licencyjnej Powszechna Licencja Publiczna GNU, który zawierał definicję open source z prawnego punktu widzenia. Wystarczająco duża liczba programiści zaczęli używać i ulepszać ten system operacyjny. Po zebraniu ulepszeń od programistów z całego świata w jedną całość, w 1994 roku Linus Torvalds wypuszcza wersję 1.0 Linuksa. Wcześniej numeracja wersji była przeprowadzana od zera.

Z biegiem czasu pojawiły się ogólne obawy konsumentów dotyczące braku gwarancji, a także wsparcia technicznego dla takiego oprogramowania. Więc Red Hat Software tworzy oficjalny pakiet oprogramowania Red Hat Linux, który udaje im się sprzedać. Najważniejszą cechą takiego rynkowego systemu operacyjnego było gwarancja i wsparcie techniczne, co nie jest mniej ważne.

Kilka innych firm również opracowywało nowe wersje Linuksa na sprzedaż, a te pakiety były dodatkowo wyposażone w różnorodne oprogramowanie, w tym: przeglądarka internetowa Mozilla, stworzona na jądrze Netscape, serwer WWW Apache, język do przygotowywania skryptów internetowych Perl, format graficzny Pliki PNG i wiele innych. Ponadto istnieją wersje wymienionych pakietów oprogramowania opracowane dla systemu operacyjnego. systemy Windows i Androida. Sugeruje to, że programy open source są dostępne nie tylko na komputery, ale także na urządzenia mobilne.

Podsumowując, warto powiedzieć, że programy dostarczane z otwartym kodem źródłowym mają szereg wad. Po pierwsze to różnorodność wersji, w wyniku czego udoskonalenie jednego programu może spowodować powstanie nowego, niezależnego pakietu oprogramowania. Druga rzecz, którą należy podkreślić, to użycie użytkownika przestarzałe programy , w którym niektóre błędy mogą nie zostać naprawione, nie można pracować z nowymi formatami plików i tak dalej. Przykładem takiego przypadku jest program Microsoft Word i OpenOffice. Jeśli w pierwszym pakiecie jest zapisana jakaś złożona formuła, to druga po prostu nie może jej odczytać.

Również wśród oprogramowania open source nie ma tzw specjalne pakiety do księgowości i sprawozdawczości. Kolejna wada jest bezpośrednio związana ze sprzętem, faktem jest, że przy przejściu z systemu Windows na Linux należy wziąć pod uwagę, że sterowniki dla systemu Linux nie istnieją dla wszystkich modeli urządzeń komputerowych, co spowoduje nieprawidłowe działanie systemu.

Nie zapominajmy jednak o pozytywnych aspektach takiego oprogramowania, bo open source ma wiele zalet. Po pierwsze, całe oprogramowanie open source jest dystrybuowane za darmo. Po drugie takie programy pojawiają się czasami znacznie szybciej komercyjny ze względu na to, że w rozwój zaangażowanych jest jednocześnie kilka tysięcy osób, a nie każda firma jest w stanie zapłacić za pracę kilku tysięcy programistów. Ostatnią rzeczą, na którą należy zwrócić uwagę, są obawy opcje szybkiego rozwiązywania problemów, dzięki czemu programy open source działają stabilniej niż komercyjne.

Oprogramowanie open source (OSS) to oprogramowanie komputerowe rozpowszechniane z kodem źródłowym dostępnym do modyfikacji. Zasadniczo oprogramowanie zawiera licencję dla programistów na modyfikację oprogramowania w dowolny sposób. Mogą naprawiać błędy, ulepszać funkcje lub dostosowywać oprogramowanie do swoich potrzeb. Open Source Initiative (OSI) jest wiodącą organizacją w dziedzinie OSS; ich definicja oprogramowania open source jest zgodna z zasadami dotyczącymi 10 kryteriów.

Obejmują one:

  • dystrybucja oprogramowania
  • Dostępność kodu źródłowego
  • Dystrybucja licencji
  • Właściwości licencji
  • Antydyskryminacja

Licencje

Różne licencje pozwalają programistom modyfikować oprogramowanie na różnych warunkach. OSI zatwierdza licencje, które spełniają ich definicję oprogramowania open source. 5 najpopularniejszych licencji według bazy wiedzy Black Duck:

  1. licencja MIT
  2. Powszechna Licencja Publiczna GNU (GPL) 2.0
  3. Licencja Apache 2.0
  4. Powszechna Licencja Publiczna GNU (GPL) 3.0
  5. Licencja BSD 2.0 (3-klauzulowa, nowa lub poprawiona)

Kiedy zmieniasz kod źródłowy, jednym z wymagań OSS jest uwzględnienie tego, co zmieniłeś, a także twoich metod. Oprogramowanie utworzone po modyfikacji kodu może być freeware lub freeware.

Różnica między oprogramowaniem open source a oprogramowaniem komercyjnym

Oprogramowanie dostępne na rynku lub oprogramowanie własnościowe nie zapewnia dostępu do swojego kodu źródłowego, ponieważ oprogramowanie należy do kogoś innego własność intelektualna.

W rezultacie użytkownicy często za to płacą.

Z drugiej strony OSS to wspólny wysiłek — oprogramowanie jest wspólną własnością intelektualną wszystkich, którzy pomogli je opracować lub zmodyfikować.

Oprogramowanie open source vs. Darmowe oprogramowanie

Wbrew powszechnemu przekonaniu żaden z nich nie koncentruje się na kosztach ani wadach tych programów.

Open Source oznacza darmową dostępność kodu źródłowego i dystrybucji. Wolne oprogramowanie w ten sam sposób obejmuje modyfikację kodu, ale podkreśla, że ​​użytkownicy, którzy lubią wolne oprogramowanie, lubią robić to, co im się podoba. Fundacja Wolnego Oprogramowania określa 4 warunki, aby oprogramowanie było uważane za całkowicie darmowe.

Ponadto oprogramowanie można sklasyfikować jako darmowe. Oznacza to, że użytkownicy pobierają oprogramowanie za darmo, ale nie mogą wprowadzać żadnych zmian w kodzie źródłowym.

Korzyści z oprogramowania open source

Podczas gdy koszt jest siłą napędową, OSS ma kilka dodatkowych korzyści:

  • Wyniki wysokiej jakości, gdy kod źródłowy jest udostępniany, testowany i naprawiany.
  • Jest to cenna okazja do nauki dla programistów. Mogą uczyć się i stosować umiejętności w najpopularniejszych obecnie dostępnych programach.
  • Wiele osób uważa, że ​​oprogramowanie open source jest bezpieczniejsze niż oprogramowanie własnościowe, ponieważ błędy są szybko identyfikowane i naprawiane.
  • Ponieważ oprogramowanie open source jest własnością publiczną, istnieje niewielkie prawdopodobieństwo, że stanie się niedostępne. Jest to ważne w przypadku projektów długoterminowych, które polegają na tych narzędziach przez cały czas trwania projektu.
  • Większość oprogramowania jest bezpłatna. Jednak koszty mogą pojawić się później, takie jak subskrypcje lub opłaty za wsparcie.

Popularne typy oprogramowania open source

Technologie open source pomogły stworzyć znaczną część Internetu.

Ponadto wiele programów, z których ty i ja korzystamy na co dzień, opiera się na technologiach open source. Na przykład systemy operacyjne Android i Apple OS X są oparte odpowiednio na jądrze i systemie Unix/BSD typu open source.

Inne popularne oprogramowanie open source:

  • przeglądarka internetowa Mozilla Firefox
  • Klient poczty Thunderbird
  • Język skryptowy PHP
  • Język programowania Python
  • Serwer WWW Apache
  • > Otwarte oprogramowanie i programiści

Projekty OSS to możliwości współpracy, które poprawiają umiejętności i budują połączenia w terenie. Deweloperzy powinni być zaznajomieni ze standardowymi narzędziami programistycznymi typu open source.

Narzędzia komunikacyjne

  • - E-mail, wiadomości w czasie rzeczywistym, fora i strony wiki pomagają programistom znajdować rozwiązania lub wymieniać się pomysłami. Rozproszone systemy kontroli wersji
  • - Gdy wielu programistów w różnych lokalizacjach geograficznych zmienia dane i pliki, systemy te zarządzają różnymi wersjami i aktualizacjami. Śledzenie błędów i listy zadań
  • - Pozwól projektom na dużą skalę monitorować problemy i śledzić ich poprawki. Narzędzia do testowania i debugowania
  • - Automatyzacja testowania podczas integracji systemu i debugowania innych programów. Wniosek

Tysiące projektów open source stanowią alternatywę dla oprogramowania własnościowego. Praca nad projektem OSS jako ścieżka do kariery programistycznej. Ponadto programiści mogą doskonalić swoje umiejętności, pracując nad największymi produktami programistycznymi na świecie. Facebook, Google i LinkedIn jako Open Source, dzięki czemu programiści mogą dzielić się wiedzą, wdrażać rozwiązania i współtworzyć stabilne, funkcjonalne produkty.

Wiele osób kupuje różne oprogramowanie lub korzysta z pirackich wersji zhakowanych. Użytkownicy widzą interfejs graficzny programu, ale kod tego produktu jest zwykle ukryty. W związku z tym zmiana oprogramowania jest prawie niemożliwa, co gwarantuje autorowi ochronę przed tymi, którzy chcą skopiować kod programu i przypisać go sobie. Ale mimo to jest coraz więcej tak zwanych programów „Open Source”. nowoczesny świat. Zrozummy, czym są programy open source i jakie są ich pozytywne i negatywne strony.

Co można uznać za open source?

Niemal każde oprogramowanie trafia do użytkownika końcowego już jako gotowe oprogramowanie. Są to dość funkcjonalne programy z ładnym interfejsem i łatwe w użyciu. Jeśli kod tego produktu jest otwarty, każdy może go zmienić, zaoferować własne opcje naprawy znalezionych błędów lub wprowadzić jakąś innowację. W ten sposób jakość tego produktu poprawia się z czasem. Przykładami systemów operacyjnych typu open source są Linuks, Uniks, ubuntu.

Wszyscy się znają Microsoft Office , którego analogiem, ale już open source, jest otwarte biuro. Przeglądarki Mozilla Firefoksa i Google Chrome są również oprogramowaniem open source. Istnieje wiele podobnych produktów, wiele z nich korzysta z dużej ilości oprogramowania i nie podejrzewa, że ​​którykolwiek z nich może być programem Open Source.

Funkcje open source

Aby oprogramowanie można było nazwać programem, nie wystarczy, aby jego kod był otwarty dla wszystkich. Taki program powinien być Absolutnie wolny. Ponadto przy dalszym korzystaniu i próbie zmiany kodu użytkownik również nie musi nic płacić. Każdy ma prawo do swobodnego rozpowszechniania tego produktu i, jak wspomniano powyżej, do jego zmiany. Takie programy nie mają ograniczeń co do zakresu i warunków użytkowania. Można je wykorzystywać do prowadzenia działalności gospodarczej, badań, edukacji, wykorzystywać do własnych celów przez nieograniczoną ilość czasu.

Licencja oprogramowania Open Source

Licencja takich programów jest również bezpłatna. Nie ma absolutnie żadnych ograniczeń dotyczących stosowania, modyfikacji, dystrybucji, używania z innym kompatybilnym oprogramowaniem. Ponadto jest neutralny technologicznie w stosunku do wszystkich innych istniejących programów.

Plusy i minusy programów Open Source

W przeciwieństwie do klasyki licencjonowane programy, są rozwijane przez grupę wolnych programistów, dlatego są darmowe.

Drugą ważną zaletą jest to, że możemy zaktualizować dane programu. Dobry programista, po zrozumieniu kodu, może dodać nowe opcje do programu lub usprawnić działanie istniejących funkcji. Na przykład użytkownik System operacyjny Mac nie może zmienić swojego systemu operacyjnego, w przeciwieństwie do Linuks, który każdy może nie tylko dostosować według własnego uznania, ale także dodać dowolne indywidualne funkcje. W efekcie otrzyma zupełnie nowy produkt, który jest bardzo wygodny w użyciu. Jeśli powstały program jest naprawdę dobry, to można go opatentować, a nawet sprzedać (!)

Kolejną niezaprzeczalną zaletą programów jest ich ochrona przed wirusami. Prawie wszystkie wirusy są pisane dla aplikacji Okna i złośliwe oprogramowanie na tym samym Linuks znikoma kwota. W związku z tym prawdopodobieństwo zarażenia się wirusem przy użyciu systemu operacyjnego typu open source jest bardzo małe.

Obecnie wiele organizacji przechodzi na korzystanie z oprogramowania open source. Zmniejsza to koszty i minimalizuje możliwość włamania do systemu.

Ale każdy medal, jak wiecie, ma dwie strony, powiemy o wadach open source programy.

Jeśli masz jakiekolwiek problemy z oprogramowaniem, zwykle kontaktujesz się z pomocą techniczną. Oprogramowanie open source go nie ma. Problem ten powstaje, ponieważ program był modyfikowany przez różnych programistów z całego kraju, a nawet świata. Będziesz więc musiał szukać rozwiązania problemu na otwartych przestrzeniach sieci. Internet albo sam to wymyśl.

Drugi minus pojawia się ponownie ze względu na fakt, że każdy może zmienić kod programu. Często poglądy ludzi mogą się nie pokrywać, co powoduje konflikty w modyfikacji produktu. Może to doprowadzić do upadku projektu, nad którym wiele osób pracowało przez długi czas.

Również pod otwarte źródło często przebrany złośliwe oprogramowanie, odróżnienie ich od naprawdę bezpiecznego oprogramowania może być czasem bardzo trudne.

Pomimo faktu, że takie programy mają pewne wady, coraz więcej użytkowników jest nimi zainteresowanych. Obecnie coraz więcej produktów jest tworzonych przy użyciu oprogramowania open source. Oznacza to, że takie programy mają przyszłość i są warte uwagi.