środowisko programowania - Tłumaczenie na angielski - polskich przykładów

Dołączone do sterownika bezpłatne oprogramowanie zapewnia intuicyjne środowisko programowania graficznego ułatwiające wdrożenie. Free software included with the controller provides an intuitive, graphical programming environment for easy implementation.

Do zliczania liczby emitowanych biofotonów wykorzystano środowisko programowania LabView. The LabView programming environment was used to count the number of emitted biofotons.

PowerLisp jest Wspólne środowisko programowania Lisp dla komputerów Macintosh. PowerLisp is a Common Lisp development environment for the Macintosh.

cncKad zawiera pełne środowisko programowania do tworzenia, wykonywania i debugowania plików parametrycznego opisu części (PPD). cncKad includes a complete development environment for creating, running, and debugging Parametric Part Description (PPD) files.

Jako, że Ghostscript jest interpreterem języka, może być również stosowany jako środowisko programowania ogólnego zastosowania. As it takes the form of a language interpreter, Ghostscript can also be used as a general purpose programming environment

Dla zaawansowanych użytkowników do celów przetwarzania danych przygotowane jest zintegrowane środowisko programowania Python o otwartym kodzie źródłowym. For advanced users, the integrated open-source Python programming environment is ready for any data treatment.

Możliwości komunikacyjne i środowisko programowania jest w pełni kompatybilne ze sterownikami PLC Simatic. The communication interface and programming environment is fully compatible with Simatic PLCs.

MDL zapewnia średnio zaawansowanym i zaawansowanym programistom najbardziej solidne i bogate w funkcje środowisko programowania MicroStation. MDL provides intermediate and advanced programmers the most robust and feature rich MicroStation programming environment

Proces pomiaru liczby emitowanych biofotonów odbywał się automatycznie do czego wykorzystano środowisko programowania LabView. The process of measuring the number of emitted bio-photons took place automatically for what LabView programming environment was used.

Czterodniowe szkolenie podczas, którego uczestnicy poznają pojęcia dotyczące języka Java, środowisko programowania, zasady przenośności kodu, komunikację z bazami danych oraz podstawy wyrażeń regularnych. A four-day training during which participants learn about Java language concepts, programming environment , principles of code portability, communication with databases and basics of regular expressions.

Oprogramowanie Ultra Master, interfejs oparty na systemie Windows, zapewnia znane środowisko programowania i potężne narzędzie do uruchamiania dla wszystkich napędów ULTRA 100/200. Napędy pozycjonująceULTRA 200 zapewniają w pełni funkcjonalną elastyczność oraz imponującą moc i wydajność. Ultra Master software, a Windows-based interface, provides you with a familiar programming environment and a powerful commissioning tool for all ULTRA 100/200 drives.ULTRA 200 positioning drives deliver full-featured flexibility and impressive power and performance.

Wykorzystane oprogramowanie to: Blender i środowisko programowania Unity 3D dostępne na otwartej licencji. Tweetnij Used software: Blender and the open programming environment Unity 3D. Tweetnij gallery

Jeden pakiet instalacyjny zawiera zarówno środowisko programowania jak również środowisko runtime łącznie ze wszystkimi driverami, interfejsami, serwerem webowym, biblioteką graficzną i kompletną dokumentacją. The single installation package contains both development environment and runtime environment, including all drivers, interfaces, web server, graphic library and complete documentation.

Zaprojektowane z myślą o teatrach, Hathor oferuje przyjazne dla użytkownika i wygodne środowisko programowania. Designed with theaters in mind, HATHOR offers a user friendly and comfortable programming environment

System został opracowany w celu obsługi naszych własnych potrzeb, ale zapewnia również zintegrowane środowisko programowania oparte na GUI, które można wykorzystywać do szybkiego programowania i wdrażania kompleksowych aplikacji telefonicznych. The system has been developed to support our own requirements but it also provides an integrated GUI-based development environment that can be used to rapidly develop and deploy complex telephony applications.

Uruchamianie aplikacji środowiska AIR 2 jest możliwe w systemie Mac OS 10.4 na komputerach z procesorami Intel, ale ta konfiguracja nie może służyć jako środowisko programowania dla SDK AIR 2. Mac OS 10.4 running on an Intel processor is supported for running AIR 2 applications, but is not supported as development environment with the AIR 2 SDK.

Rakieta jest interaktywnym, zintegrowane środowisko programowania graficznego dla języków programowania Schemat, MzScheme i MrEd.Pyret jest luźno oparty na Racket, służąc jako podstawowego narzędzia skryptowego, z podstawową składnią... Racket is an interactive, integrated, graphical programming environment for the Scheme, MzScheme, and MrEd programming languages.Pyret is loosely based on Racket, serving as a basic scripting utility, with a basic Python-like syntax.Writing code in Pyret...

Ponadto środowisko programowania, który jest używany podczas pisania skryptu w programie InfoPath jest Microsoft Script Editor (MSE), nie Edytor Visual Basic. In addition, the programming environment that is used when writing script in InfoPath is the Microsoft Script Editor (MSE), not the Visual Basic Editor.

Dowiedz się Visual Basic.NET jest kurs obejmujący dziesięć tygodni koncepcji programowania obiektowego, Visual Basic.NET zintegrowane środowisko programowania, tworzenia i dystrybuowania aplikacji (za pomocą nowego wspólnego języka Run-Time), obsługę... Learn Visual Basic.NET is a ten-week course covering object-oriented programming concepts, the Visual Basic.NET integrated development environment , building and distributing applications (using the new Common Language Run-Time), error handling, file...

Tworzenie oprogramowania: rodzaje i metodologie Tworzenie oprogramowania: rodzaje i metodologie

Rozwój oprogramowania coraz bardziej staje się jedną z najważniejszych części w branży IT. Obecnie oprogramowanie jest używane w prawie wszystkich branżach, zwłaszcza we wszystkich procesach lub aplikacjach związanych z komputerami. Wraz z rozwojem technologii i poziomem transformacji cyfrowej w większości organizacji prawie niemożliwe jest wymyślenie jakiejkolwiek działalności, która nie opiera się na jakiejś formie procesu związanego z komputerem.

W konsekwencji sektor rozwoju oprogramowania rozwija się z roku na rok. Raport autorstwa Gartnerktóry został opublikowany pod koniec 2020 r., wskazuje, że branża tworzenia oprogramowania na zamówienie osiągnęła oszałamiające 70 miliardów dolarów i rośnie w tempie 5 procent rocznie w niektóre konkretne obszary rozwoju oprogramowania. Aby jednak w pełni wykorzystać zalety branży IT, musisz postępować zgodnie z odpowiednią metodologią.

Tutaj przyjrzymy się rodzajom oprogramowania i najczęstszym metodom.

Rodzaje oprogramowania

Produkty oprogramowania można podzielić na 4 główne grupy. W tym artykule przyjrzymy się, jak są wykorzystywane w biznesie i ogólnie w życiu.

1. Oprogramowanie do programowania produktów

Te produkty oprogramowania są również określane jako narzędzia programistyczne. Produkty programistyczne obejmują edytory tekstu, kompilatory, konsolidatory, debugery i wiele innych. Te narzędzia to programy lub programy, które pomagają programistom tworzyć, debugować i konserwować inne aplikacje i programy. Dlatego te produkty są przeznaczone dla programistów i programistów piszących kod.

Produkty programistyczne można uznać za tłumaczy, ponieważ pomagają tłumaczyć języki programowania, takie jak C++, Python i wiele innych, na coś, co może zrozumieć telefon lub komputer.

2. Produkty oprogramowania aplikacyjnego

Oprogramowanie użytkowe to popularny rodzaj oprogramowania. Są to programy użytkownika końcowego, które umożliwiają osiągnięcie pożądanych rezultatów lub wykonanie zadań. W tym przypadku użytkownikiem końcowym jest osoba, która faktycznie wykonuje jakiekolwiek zadania za pomocą programu lub produktu. Niektóre z typowych przykładów oprogramowania obejmują narzędzia CRM, takie jak Punkt centralnyprzeglądarki internetowe, aplikacje do edycji tekstu, takie jak Microsoft Word, oraz oprogramowanie do edycji zdjęć, takie jak Lightroom lub Adobe.

Produkty oprogramowania aplikacyjnego są zwykle instalowane na urządzeniach mobilnych i komputerach w zależności od potrzeb użytkownika. W tej kategorii dostępnych jest kilka opcji, ponieważ jest to najpopularniejsza forma oprogramowania. Dzięki temu użytkownicy mogą wybrać taki, który odpowiada ich budżetowi, potrzebom i oczekiwaniom. Na przykład, jeśli chcesz uzyskać dostęp do Internetu, możesz użyć przeglądarki Firefox, Chrome lub Safari.

Inne przykłady oprogramowania, które należą do tej kategorii, to odtwarzacze multimedialne, pakiety biurowe i oprogramowanie do zarządzania danymi.

3. Oprogramowanie systemowe

Oprogramowanie systemowe zarządza zasobami urządzeń mobilnych i komputerów, co pozwala na bezproblemowe korzystanie z tych urządzeń. Programy te znacznie ułatwiają programowanie. Przykłady oprogramowania systemowego obejmują systemy operacyjne, systemy zarządzania bazami danych, translatory, oprogramowanie sieciowe i narzędzia programowe. Oprogramowanie systemowe jest ważne w działaniu całego systemu komputerowego lub dowolnej formy aplikacji.

Dobrym przykładem używanego systemu oprogramowania jest aktualizacja telefonu lub laptopa. W takim przypadku istnieje uaktualnienie lub ulepszenie oprogramowania, które umożliwiłoby telefonowi lub komputerowi utrzymanie działania aplikacji, a także prawidłowe działanie. Niektóre z typowych przykładów oprogramowania systemowego to Microsoft Windows i Apple iOS.

Oprogramowanie systemowe działa w tle urządzenia, co oznacza, że ​​nigdy nie będziesz z niego korzystać bezpośrednio. W związku z tym większość ludzi pamięta go i jego rolę tylko wtedy, gdy ma aktualizację.

4. Oprogramowanie sterownika

Oprogramowanie sterownika jest prawie podobne do oprogramowania systemowego, co wyjaśnia, dlaczego większość ludzi uważa je za rodzaj oprogramowania systemowego. Sterowniki pomagają kontrolować i obsługiwać urządzenia podłączone do komputera. Oprogramowanie sterownika umożliwia urządzeniom wykonywanie ich podstawowych funkcji. Doskonałym przykładem urządzeń, które wykorzystują te oprogramowanie do wykonywania swoich głównych funkcji, jest drukarka.

Pamiętaj, że konfigurując drukarkę po raz pierwszy, musisz zainstalować oprogramowanie, aby działała z komputerem. Oprogramowanie łączy komputer i drukarkę, umożliwiając im komunikację podczas skanowania lub drukowania czegokolwiek.

Wspólne metodologie tworzenia oprogramowania

Każdy ekspert IT rozumie, że obecnie istnieje kilka metodologii tworzenia oprogramowania, a każda z nich zapewnia szereg korzyści. Niektóre z zalet obejmują zwiększoną wydajność procesu, zminimalizowane ryzyko, lepszą skalowalność i ciągłe iteracje. W tym miejscu przyjrzymy się najczęstszym metodologiom, a także omówimy, w jaki sposób pasują do Twoich potrzeb biznesowych.

1. Zwinny

Metodologie zwinne są najczęstszym modelem w rozwoju oprogramowania. To tutaj są opracowywane wersje i nowe aktualizacje oprogramowania, które są udostępniane klientom co kilka tygodni. Model pozwala na testowanie i dodawanie większej liczby funkcji na każdym etapie rozwoju. Umożliwia również ponowne przetestowanie większej liczby atrybutów po przekazaniu przez klientów opinii. W konsekwencji metodologia Agile pomaga dostarczać produkty spełniające oczekiwania, co oszczędza czas i zasoby, które byłyby wykorzystane do korygowania błędów.

Korzyści

Zwiększone morale zespołu, ponieważ promuje pracę zespołową

Pozwala na ciągłe doskonalenie

Zwiększona przewidywalność projektu

Zapewnia bardziej odpowiednie metryki w mierzeniu wydajności projektu, kosztów i czasu

2. Wodospad

Wodospad jest jednym z najstarszych modeli rozwoju oprogramowania. Model składa się z szeregu kolejnych faz, które zaczynają się od koncepcji i kończą na konserwacji. Poza tym metodologia Waterfall jest idealna dla projektów z dokładnymi dokumentami i jasnymi poleceniami, ponieważ pomaga zespołowi programistów osiągnąć dobrze zdefiniowane cele. Dokładne dokumenty opisują procedurę wytwarzania systemu.

Korzyści

Pozwala zespołowi na wczesne określenie celu końcowego

Doskonały przekaz informacji

Łatwy i prosty w użyciu i zrozumieniu

Działa dobrze w przypadku mniejszych projektów

Łatwiejsze zarządzanie, ponieważ każdy etap ma określone rezultaty i proces ich przeglądu

3. Przyrostowa i iteracyjna

Ta metodologia łączy niektóre cechy procesu Agile i procesu Waterfall. Posiada elastyczność metodologii procesów Agile i wcześniejsze planowanie procesu Waterfall. Oba modele koncentrują się na pomysł na stworzenie oprogramowania w bitach i dzieląc się nimi z klientem w celu uzyskania opinii, ale różnią się one tym, co należy zbudować w każdym wydaniu.

Korzyści

Szybsza dostawa początkowego produktu

Pozwól klientom wcześnie uzyskać niezbędną funkcjonalność

Każde wydanie jest przyrostem pierwotnego produktu

Pozwala najpierw na tworzenie wymagań priorytetowych

4. Scrum

Model jest uważany za podzbiór modelu Agile, który lepiej sprawdza się w zarządzaniu procesem rozwoju na wyższym (makro) poziomie. Scrum kieruje się wartościami i zasadami metodologii Agile. Rozważając niektóre praktyki w rozwoju oprogramowania, Scrum obejmuje dalsze definicje i specyfikacje. Ten model jest idealny dla produktów o zmieniających się wymaganiach.

Korzyści

Szybsze udostępnianie użytecznego oprogramowania klientom i użytkownikom

Oferuje świetną zdolność do uwzględniania pojawiających się zmian

Nadaje się nawet do skomplikowanych projektów

Końcowe przemyślenia

Rozwój oprogramowania szybko staje się jedną z najważniejszych dziedzin w branży. Obecnie prawie każdy obszar naszego życia wymaga oprogramowania lub produktów pokrewnych, aby działały zgodnie z wymaganiami. Zrozumienie głównych typów oprogramowania pozwala określić, które będzie odpowiadać Twoim potrzebom biznesowym. Poza tym ważne jest również poznanie wspólnych metodologii tworzenia oprogramowania i ich zalet.

Dzięki i pozdrawiam,

Thanh (Bruce) Pham

CEO

Saigon Technology Solutions

E-mail: [email protected]

Członek Rady Technologii Forbes

Komórka: (+84) 913 666 227

Skype: tienthanh.pham (Thanh Bruce Pham).

Fundacja Wolnego Oprogramowania

Ta strona jest tłumaczeniem z angielskiego.

Co to wolne oprogramowanie?

„Wolne oprogramowanie” [free sofware] oznacza oprogramowanie, które szanuje wolność i społeczność użytkowników. W skrócie znaczy, że wolno użytkownikom uruchamiać, powielać, badać, zmieniać i ulepszać oprogramowanie. Więc „wolne oprogramowanie” to kwestia wolności, nie ceny. By zrozumieć to pojęcie, powinniście myśleć o „wolności słowa” [angielskie „free” może znaczyć „wolny”, ale też może oznaczać „darmowy” – “free” as in “free speech,” not as in “free beer”]. Czasami nazywamy to „oprogramownie libre”, pożyczając termin z francuskiego lub hiszpańskiego, [libre software] aby podkreślić, że nie chodzi o cenę. Możliwe, że zapłaciliście za kopie wolnego programu, mogliście też otrzymać go bezpłatnie. Ale bez względu na to, w jaki sposób je otrzymaliście, zawsze macie wolność do kopiowania i modyfikowania programów, a nawet sprzedawania kopii.

Walczymy o te wolności ponieważ na nie zasługujemy. Z tymi swobodami, użytkownicy (zarówno indywidualni jak i wspólnie) mają kontrolę nad programem i tym, co dla nich robi. Gdy użytkownicy nie mają kontroli nad programem, to program kontroluje użytkowników. Programista kontroluje program, a przez niego użytkowników. Ten niewolny lub „własnościowy” [ang. proprietary] program jest narzędziem niesprawiedliwej władzy.

„Open source” jest czymś innym: ma bardzo odmienną filozofię na bazie odmiennych wartości. Praktyczna definicja jest też odmienna, ale prawie wszystkie programy open source są też wolnym oprogramowaniem. Objaśniamy różnicę w artykule Dlaczego otwartemu oprogramowaniu umyka idea Wolnego Oprogramowania.

Macie pytanie o licencjach wolnego oprogramowania, na które nie znaleźliście tu odpowiedzi? Zobaczcie nasze zasoby o licencjach i, jeśli to konieczne, skontaktujcie się z FSF Compliance Lab pod adresem

Definicja Wolnego Oprogramowania

Definicja wolnego oprogramowania przedstawia jakie warunki muszą zostać spełnione aby konkretny program uznać za wolne oprogramowanie. Od czasu do czasu modyfikujemy tę definicję by wyjaśnić pewne subtelne kwestie. Zajrzyjcie do sekcji Historia, aby zobaczyć zmiany w definicji wolnego oprogramowania.

Cztery niezbędne wolności

Program jest wolnym oprogramowaniem jeśli użytkownicy programu mają cztery niezbędne wolności: [1]

Wolność do uruchamiania programu jak chcecie, w dowolnym celu (wolność 0).

Wolność do analizowania, jak działa program i zmieniania go aby robił co i jak potrzebujecie (wolność 1). Warunkiem koniecznym jest dostęp do kodu źródłowego.

Wolność do rozpowszechniania kopii, byście mogli pomóc innym (wolność 2).

Wolność do udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność (wolność 3). Warunkiem koniecznym jest tu dostęp do kodu źródłowego.

Program jest wolnym oprogramowaniem jeśli zapewnia użytkownikom wszystkie te wolności. W przeciwnym wypadku jest niewolnym. Choć są różne sposoby rozprowadzania niewolnego oprogramowania, różniące się dystansem od w pełni wolnego, uważamy wszystkie za równie nieetyczne.

W danym przypadku te wolności muszą dotyczyć kodu, który mamy zamiar używać lub skłaniać innych by używali. Przykładowo, rozważmy program A, który w niektórych przypadkach automatycznie uruchamia program B. Jeśli chcemy rozprowadzać program A w tej formie, to oznacza, że użytkownicy będą potrzebowali B, więc trzeba sprawdzić czy zarówno A jak i B są wolnym oprogramowaniem. Jednakże, jeśli mamy zamiar zmodyfikować A aby nie używał B, tylko A musi być wolnym; B nie jest częścią zamiaru.

Wolne oprogramowanie może być komercyjne

„Wolne oprogramowanie” nie znaczy „niekomercyjne”. Przeciwnie, wolny program musi być dostępny do użytku komercyjnego, do komercyjnego rozwoju, oraz do komercyjnej dystrybucji. To podejście jest bardzo ważne – bez tego, wolne oprogramowanie nie mogłoby osiągnąć swoich celów.

Chcemy zaprosić wszystkich, aby używali systemu GNU, wliczając w to firmy i ich pracowników. To wymaga zezwalanie na użytek komercyjny. Mamy nadzieję, że wolne programy wyprą swoje własnościowe odpowiedniki, ale nie mogłyby tego zrobić jeśli firmom zabronić ich używanie. Chcemy, aby komercyjne produkty zawierające oprogramowanie zawierały system GNU, a to by było rozprowadzanie komercyjne za opłatą. Komercyjny rozwój wolnego programowania już nie jest nietypowy: takie wolne programy są bardzo ważne. Odpłane wsparcje dla wolnych programów wypełnia ważną lukę.

Więc wyłączenie użytek, rozwój czy rozprowadzanie komercyjne spętałoby społeczność wolnego oprogramowania i utrudniło ścieżkę do sukcesu. Z tego musimy dojść do wniosku, że program z takimi ograniczeniami nie jest e się jako wolne oprogramowanie.

Wolny program musi zapewniać cztery wolnośi każdemu użytkownikowi, który otrzymał kopię programu, o ile użytkownik dotychczas spełnił wymogy wolnej licencji obejmującej program. Wyłączanie niektórych z wolności dla niektórych użytkowników, lub wymaganie płatności od użytkowników, czy to w formie pieniądzach czy innej formie się odwdzięczyć, jest równoważne z nie wyrażaniem zgody na daną wolność – to sprawia, że program jest niewolny.

Wyjaśnianie granicy między wolnym a niewolnym

Reszta artykułu wyjaśnia dokładniej jak daleko muszą pójść wolności, aby program był uważany jako wolny.

Wolność do uruchamiania programu jak chcecie, w dowolnym celu

Wolność korzystania z programu oznacza wolność dla każdej osoby czy organizacji do używania go na dowolnego rodzaju systemie komputerowym, do dowolnego typu zadań, bez wymogu kontaktowania się w związku z tym z autorem czy jakimś innym konkretnym podmiotem. W tej wolności chodzi o cele użytkownika, nie o cele autora. Jako użytkownicy macie swobodę uruchamiania programu do swoich celów, a jeśli go rozprowadzacie, przekazujecie komuś innemu, to wówczas ta osoba może swobodnie korzystać z niego do własnych celów, a wy nie macie prawa narzucać mu swoich.

Wolność aby uruchamiać program jak się chce oznacza, że nie zabrania się Wam ani nie powstrzymuje Was od uruchamiania. Nie ma to nic wspólnego z funkcjonalnością programu, ani czy będzie funkcjonował w danym środowisku, ani czy program robi to, co chcecie aby robił.

Przykładowo, jeśli program w sposób dowolny odrzuca znaczące dane wejściowe, lub całkiem nie działa, to program jest mniej użyteczny, a może całkiem bezużyteczny. Taki program nie odmawia użytkownikom wolności uruchamiania programu, więc nie ma konfliktu z wolnością 0. Jeśli program jest wolny, użytkonicy mogą sprostać niedociągnięciom ponieważ wolności 1 i 3 zezwalają użytkonikom i społecznością tworzyć i rozprowadzać zmodyfikowane wersje bez kodu sprawiającej niegodności.

„Jak chcecie” wlicza „w ogóle” jeśli tak chcecie.

Wolność do analizowania, jak działa program i zmnieniana go aby robił co i jak potrzebujecie

By wolności 1 i 3 (wolności do dokonywania zmian i publikowania zmienionych wersji) miały sens, musicie mieć dostęp do kodu źródłowego programu. Zatem dostępność kodu źródłowego jest warunkiem koniecznym wolnego oprogramowania. Zaciemniony „kod źródłowy” nie jest prawdziwym kodem źródłowym i nie liczy się jako taki.

Wolność 1 to także wolność do używania zmienionej wersji zamiast oryginału. Jeśli program jest dostarczany w produkcie zaprojektowany tak, by umożliwiał uruchamianie czyjejś zmodyfikowanej wersji lecz nie pozwala na uruchomienie waszej – praktyka znana jako „tiwoizacja” lub „zablokowanie” lub (w perwersyjnej mowie praktykujących te taktyki) „bezpieczne uruchamianie” – wolność 1 staje się pozorem, a nie czymś praktycznym. Ta postać binarna nie jest wolnym oprogramowaniem nawet jeśli kod z którego jest kompilowana jest wolny.

Jednym z ważnych sposobów modyfikowania programu jest wykorzystywanie w nim dostępnych wolnych podprogramów i modułów. Jeśli licencja programu zabrania łączenia z istniejącymi modułami na odpowiedniej licencji – na przykład kiedy wymaga, żebyście mieli prawa autorskie do każdego dodawanego przez siebie kodu – wówczas jest zbyt restrykcyjna, by uznać ją za wolną.

To, czy zmiana stanowi udoskonalenie, jest kwestią subiektywną. Jeśli wasze prawa dokonywania modyfikacji są ograniczone wyłącznie do zmian, które ktoś inny uzna za udoskonalenie, nie jest to wolny program.

Jednym specjalnym przypadkiem wolności 1 jest usunięcie kodu programu, aby zwrócił kontrolę systemowi po zrobieniu niczego, lub aby wywołał inny program. Więc wolność 1 dquo;uje

Wolność do rozpowszechniania kopii: podstawowe zasady

Wolność rozpowszechniania (wolności 2 i 3) znaczy, że powinniście mieć swobodę rozpowszechniania kopii, zmodyfikowanych bądź oryginalnych, za darmo bądź pobierając opłatę za dystrybucję, wszędzie i każdemu. Wolność robienia tego wszystkiego oznacza (między innymi), że nie musicie prosić o pozwolenie ani płacić za nie.

Powinniście mieć również wolność dokonywania zmian w programie i wykorzystywania ich prywatnie w pracy czy też dla rozrywki, bez wspominania nawet, że istnieją. A jeśli już opublikujecie dokonane modyfikacje, nie powinniście być zmuszeni do powiadamiania o tym kogokolwiek, w jakikolwiek sposób.

Wolność 3 to także wolność do udostępniania Waszych zmodyfikowanych wersji jako wolne oprogramowanie. Wolna licencja może również zezwalać na udostępnianie ich na inne sposoby; inaczej mówiąc, nie musi być to licencja typu copyleft. Jednakże licencja, która wymaga by zmodyfikowane wersje były niewolne, nie kwalifikuje się jako wolna.

Wolność do redystrybucji kopii programu musi obejmować zarówno postaci binarne czy wykonywalne programu, jak i kod źródłowy, zarówno dla zmienionych, jak i niezmienionych wersji. (Rozpowszechnianie programów w postaci gotowej do uruchomienia jest konieczne dla zachowania wygody instalacji wolnych systemów operacyjnych). Nie szkodzi, jeśli nie da się utworzyć postaci binarnej czy wykonywalnej (ponieważ w niektórych językach programowania nie ma takiej możliwości), mimo to musicie mieć wolność do rozpowszechniania takich postaci, jeśli znajdziecie metodę ich utworzenia.

Copyleft

Pewne rodzaje zasad dotyczących sposobu rozpowszechniania wolnego oprogramowania są akceptowalne, pod warunkiem, że nie stoją w sprzeczności z zasadniczymi wolnościami. Na przykład, copyleft (w dużym uproszczeniu) jest zasadą, która mówi, że przy redystrybucji programu nie możecie wprowadzać ograniczeń odmawiając głównych swobód innym. Reguła ta nie jest sprzeczna z głównymi swobodami użytkowników, a raczej je chroni.

W projekcie GNU używamy copyleftu by zapewnić każdemu prawną ochronę tych czterech wolności. Uważamy, że istnieją poważne powody dla których lepiej używać copyleft. Jednakże wolne oprogramowanie nie korzystające z copyleftu także jest etyczne. Więcej o zależności między „wolnym oprogramowaniu” a „programami objętymi copyleft” znajdziecie na stronie Kategorie wolnego i niewolnego oprogramowania.

Reguły co do szczegółów tworzenia pakietu i rozprowadzania

Ustalanie reguł tworzenia pakietu ze zmienioną wersją jest dopuszczalne, jeśli tylko owe reguły w istotny sposób nie ograniczają Waszej wolności do rozpowszechniania zmodyfikowanych wersji lub tworzenia takich wersji i używania ich prywatnie. Jest dopuszczalne aby licencja wymagała zmianę nazwy modyfikowanej wersji, usunięcia logo, lub oznaczenia zmian jako Wasze. Takie wymagania są dopuszczalne tak długo jak nie są tak dokuczliwe, że uniemożliwiają jakiekolwiek zmiany; skoro i tak robicie pewne zmiany w programie, kilka dodatkowych zmian nie powinno sprawić kłopotu.

Wymagania typu „jeśli udostępniasz program w ten sposób, musisz go udostępnić także w taki sposób” również mogą być dopuszczalne, na tych samych warunkach. Przykład takiego wymagania to, że jeśli rozpowszechnicie zmienioną wersję, a poprzedni programista poprosi o jej kopię, to musicie ją przesłać. (Zwróćcie uwagę, że taka zasada nadal pozostawia wam wybór, czy w ogóle upubliczniać waszą wersję). Wymagania nakazujące udostępnienie kodu źródłowego użytkownikom upublicznionych przez Was wersji są również akceptowalne.

Specjalny przypadek zaistnieje gdy licencja wymaga zmiany nazwy według której program jest wywoływany przez inne programy. To uniemożliwia wypuszczenie Waszej zmienionej wersji aby zastąpiła oryginalną gdy tamta jest wywoływana przez inne programy. Takie wymaganie jest dopuszczalne tylko jeśli jest prosty sposób wyznaczenia aliasu aby zmodyfikowana wersja mogła być wywoływana przez alias oryginalnej.

Przepisy eksportowe

Czasami rządowe przepisy kontroli eksportu i sankcje handlowe mogą ograniczać waszą wolność rozpowszechniania kopii programu na cały świat. Wyeliminowanie czy ignorowanie tych restrykcji nie jest w mocy autorów oprogramowania, ale mogą i powinni oni odmawiać narzucania ich jako warunków stosowania programu. W ten sposób restrykcje nie będą wpływać na działania i ludzi poza zasięgiem jurysdykcji danego rządu. Co za tym idzie, licencje wolnego oprogramowania nie mogą wymagać podporządkowania się żadnym nietrywialnym przepisom eksportowym jako warunek dla korzystania z którejkolwiek z podstawowych wolności.

Wspominanie o istnieniu ograniczeń eksportu bez umieszczania ich jako jeden z warunków licencji jest dopuszczalne, ponieważ nie ogranicza to użytkowników. Jeśli przepis eksportu jest trywialny w przypadku wolnego oprogramowania, to umieszczanie go jako warunek nie jest problemem; jednakże jest to potencjalnym problemem ponieważ późniejsza zmiana w przepisach eksportu sprawią, że wymóg jest nietrywialny a oprogramowanie stanie się niewolne.

Zagadnienia prawne

Aby wszystkie te wolności nabrały rzeczywistego wymiaru, muszą być nieodwołalne tak długo, jak nie robicie niczego złego. Jeżeli autor oprogramowania ma prawo unieważnienia licencji, bądź wstecznego dodania ograniczeń do warunków, nawet wówczas, gdy nie zrobiliście niczego, co by taki krok uzasadniało, to oprogramowanie nie jest wolne.

Wolna licencja nie może wymagać zgody na warunki licencji niewolnego programu. Przykładowo, jeśli licencja wymaga abyście przestrzegali licencji „wszystkich programów, które używacie”, dla użytkownika, który używa niewolne programy by to wymagało przestrzeganie warunków tych niewolnych programów; to jest oznaką niewolnej licencji.

Jest dopuszczalne aby wolna licencja określała która jurysdykcja prawa obowiązuje, lub gdzie powinien być złożony pozew sądowy, lub jedno i drugie.

Licencje na bazie kontraktu

Większość licencji wolnego oprogramowania bazuje na prawie autorskim, a istnieją pewne granice tego, jakie wymagania można nałożyć za pomocą prawa autorskiego. Jeśli licencja oparta na przepisach prawa autorskiego respektuje prawa użytkowników tak, jak to opisano powyżej, to jest mało prawdopodobne, żeby był z nią kłopot jakiegoś innego rodzaju, którego do tej pory nie przewidzieliśmy (choć czasami się to zdarza). Jednak niektóre licencje wolnego oprogramowania bazują na umowach, a w umowach można nakładać ograniczenia w dużo szerszym zakresie. To znaczy, że istnieje wiele możliwych sposobów, w jakie taka licencja mogłaby być niedopuszczalnie restrykcyjna, niewolna.

W żaden sposób nie jesteśmy w stanie wymienić wszystkich przypadków, które byłyby dla nas nieakceptowalne. Jeśli licencja oparta na umowie ograniczałaby użytkownika w pewien niecodzienny sposób, w jaki nie mogą tego robić licencje oparte na prawie autorskim, a jaki nie został tutaj wspomniany jako uzasadniony, to będziemy musieli to przemyśleć i zapewne dojdziemy do wniosku, że nie jest wolna.

Definicja Wolnego Oprogramowania w praktyce

Jak interpretujemy te kryteria

Warto zauważyć, że takie kryteria, jak ustanowione w tej definicji wolnego oprogramowania, wymagają uważnego namysłu nad ich interpretacją. O tym, czy dana licencja może być zaliczona do licencji wolnego oprogramowania, rozstrzygamy w oparciu o powyższe kryteria, stwierdzając, czy jest ona z nimi zgodna zarówno duchem jak i w szczegółowym zapisie. Jeżeli licencja zawiera nadmierne ograniczenia, odrzucamy ją, nawet jeśli nie przewidzieliśmy danego problemu w podanych kryteriach. Czasami wymagania niektórych licencji wzbudzają kontrowersje, co wymaga od nas intensywnego namysłu, łącznie z dyskusją z prawnikiem, zanim będziemy mogli zdecydować, czy dany wymóg jest możliwy do przyjęcia. Kiedy wreszcie osiągniemy rozstrzygnięcie w takiej kwestii, często uaktualniamy powyższe kryteria, by wyjaśnić, dlaczego pewne licencje kwalifikują się bądź nie.

Pomoc z wolnymi licencjami

Jeśli jesteście ciekawi, czy konkretna licencja kwalifikuje się jako licencja wolnego oprogramowania, zajrzyjcie do naszej listy licencji. Jeżeli nie wymieniono tam tej, którą jesteście zainteresowani, możecie nas o nią zapytać wysyłając wiadomość na adres

Jeżeli planujecie napisanie nowej licencji, prosimy o skontaktowanie się najpierw z Free Software Foundation pisząc na powyższy adres. Mnożenie różnych licencji wolnego oprogramowania powoduje, że użytkownicy muszą poświęcać więcej czasu na ich zrozumienie; zapewne uda nam się pomóc wam w znalezieniu istniejącej już licencji wolnego oprogramowania, która spełni wasze oczekiwania.

Jeśli okaże się to niemożliwe i rzeczywiście będziecie potrzebować nowej licencji, to korzystając z naszej pomocy możecie być pewni, że będzie to faktycznie licencja wolnego oprogramowania i unikniecie różnych problemów praktycznych.

Używanie właściwych określeń gdy mowa o wolnym oprogramowaniu

Mówiąc o wolnym oprogramowaniu, najlepiej unikać określeń takich jak „rozdawać” czy „bezpłatny”, gdyż niejawnie sugerują one, że chodzi o cenę, a nie o wolność. Niektóre powszechnie używane określenia, jak „piractwo”, są wyrazem poglądów, których, mamy nadzieję, nie podzielacie. Zachęcamy do przeczytania omówienia zatytułowanego „Mylące słowa i sformułowania, których lepiej unikać”. Mamy też listę prawidłowych tłumaczeń terminu „free software” na różne języki.

Inna grupa używa terminu „open source” na oznaczenie czegoś zbliżonego (lecz nie identycznego) do „wolnego oprogramowania”. Wolimy określenie „wolne oprogramowanie”, gdyż od chwili, gdy tylko usłyszy się, o które znaczenie przymiotnika w nim chodzi, przywołuje ono na myśl wolność. Słowo „open” ani „otwarte” nigdy nie wywołują takich skojarzeń.

Poza oprogramowaniem

Podręczniki do oprogramowania muszą być wolne, z tego samego powodu, dla którego oprogramowanie musi być wolne, a także dlatego, że podręczniki są w istocie częścią oprogramowania.

Te same argumenty są prawdziwe także w przypadku innych rodzajów dzieł praktycznego użytku — to znaczy takich, które zawierają przydatną wiedzę, jak na przykład materiały edukacyjne i źródłowe. Wikipedia jest najbardziej znanym przykładem.

Każde dzieło może być wolne i dlatego definicja wolnego oprogramowania została poszerzona o definicję wolnych dzieł kultury dotyczącą dzieł dowolnego rodzaju.

Historia

Od czasu do czasu zmieniamy definicję Wolnego Oprogramowania. Tutaj znajduje się lista znacznych modyfikacji wraz z odnośnikami, by zilustrować co dokładnie uległo zmianom.

Przerwy w numeracji powyżej spowodowane są tym, że dokonano wielu innych zmian, które nie miały bezpośredniego związku z definicją lub interpretacją. Przykładowo, lista nie zawiera zmian w formatowaniu, pisowni, interpunkcji, lub innych częściach strony. Kompletna historia zmian jest dostępna dostępna poprzez interfejs cvsweb.

Jarosław Kułak
Jarosław Kułak

Leave a Comment