W kontekście licencjonowania oprogramowania i otwartego oprogramowania „forkowanie” odnosi się do procesu tworzenia nowej i odrębnej wersji istniejącego projektu oprogramowania, wykorzystując jako podstawę jego oryginalny kod źródłowy. Praktyka ta umożliwia programistom modyfikowanie, rozszerzanie i dostosowywanie oprogramowania w celu dostosowania go do ich konkretnych wymagań lub celów, bez wpływu na oryginalny projekt. Forking stał się integralną częścią społeczności open source ze względu na nieodłączne wsparcie dla współpracy, innowacji i konfigurowalnych rozwiązań programowych.
Rozwidlanie ma miejsce, gdy programiści decydują się odejść od głównej ścieżki rozwoju projektu oprogramowania, tworząc oddzielną gałąź w celu realizacji różnych wyborów projektowych lub celów. Te gałęzie, czyli „widelce”, mogą być tymczasowe, z zamiarem ponownego zintegrowania zmian z głównym projektem, lub trwałe, prowadzące do ustanowienia odrębnego i niezależnego projektu. Widły można podzielić na dwie podstawowe kategorie:
- Hard Fork: Ten typ forku tworzy trwałe i niezgodne oddzielenie od oryginalnego projektu oprogramowania, w wyniku czego dwa niezależne projekty mają wspólną bazę kodu. Hard forki zwykle powstają, gdy w społeczności programistów pojawiają się znaczące nieporozumienia dotyczące przyszłych kierunków lub celów rozwoju. Dobrze znanym przykładem hard forku jest utworzenie kryptowaluty Bitcoin Cash (BCH) z Bitcoina (BTC) w 2017 roku.
- Soft Fork: Z drugiej strony miękki fork to tymczasowe oddzielenie się od głównego projektu z zamiarem współpracy nad nowymi funkcjami lub ulepszeniami, zanim ostatecznie połączy się z powrotem z głównym projektem. Soft forki często okazują się bezpiecznym i skutecznym sposobem testowania nowych pomysłów i innowacji, zanim zostaną one zintegrowane z podstawową bazą kodu.
Należy zauważyć, że model licencjonowania open source odgrywa kluczową rolę w praktyce forkowania. Licencje typu open source zapewniają programistom swobodę dostępu, modyfikowania i redystrybucji kodu źródłowego projektu oprogramowania, zapewniając legalne tworzenie i utrzymywanie forków. Forkowanie jest zatem istotnym elementem tworzenia oprogramowania typu open source, umożliwiającym programistom dostosowywanie i rozwijanie istniejących projektów w dążeniu do własnych wizji i celów.
W środowisku rozwoju oprogramowania fork odegrał znaczącą rolę w napędzaniu innowacji, przyspieszaniu procesu rozwoju i umożliwianiu powszechnej dostępności konfigurowalnych rozwiązań programowych. Na przykład system operacyjny Linux był wielokrotnie rozwidlany, w wyniku czego powstało wiele dystrybucji (dystrybucji), które odpowiadają różnym przypadkom użycia, branżom i preferencjom użytkowników. Ten ekosystem dystrybucji Linuksa demonstruje siłę rozwidlenia jako sposobu na spełnienie różnorodnych wymagań i wspieranie włączającego środowiska wzrostu w tworzeniu oprogramowania.
Platforma AppMaster, jako wiodące rozwiązanie programistyczne no-code, nastawione na tworzenie aplikacji backendowych, internetowych i mobilnych, uznaje znaczenie rozwidlenia w nowoczesnym ekosystemie tworzenia oprogramowania. Podczas gdy AppMaster koncentruje się przede wszystkim na generowaniu nowych aplikacji przy użyciu intuicyjnych narzędzi do projektowania wizualnego, klienci korzystający z subskrypcji Business+ i Enterprise mogą nabyć pakiety kodu źródłowego swoich projektów i zastosować praktyki rozwidlania, jeśli jest to potrzebne, aby podążać niezależnymi ścieżkami rozwoju.
Wykorzystując wygenerowany kod źródłowy Go (golang) dla aplikacji backendowych lub framework Vue3 i kod JS/TS dla aplikacji internetowych lub kod Kotlin i Jetpack Compose lub SwiftUI dla aplikacji mobilnych, użytkownicy mogą tworzyć forki, które zaspokajają specyficzne potrzeby lub cele , poza zakresem środowiska no-code AppMaster. Ta elastyczność umożliwia klientom AppMaster wykorzystanie zalet praktyk forkowania, a jednocześnie korzystanie z szybkiego rozwoju aplikacji zapewnianego przez platformę no-code.
Podsumowując, forkowanie to kluczowa praktyka w kontekście licencjonowania oprogramowania i otwartego oprogramowania, która umożliwia programistom tworzenie nowych wersji istniejących projektów oprogramowania poprzez wykorzystanie oryginalnego kodu źródłowego. Sprzyja innowacjom, przyspiesza proces rozwoju i zapewnia, że rozwiązania programowe można dostosować do konkretnych wymagań lub celów. Platforma AppMaster docenia znaczenie forku we współczesnym tworzeniu oprogramowania, dostarczając klientom wygenerowane pakiety kodu źródłowego, umożliwiając im podążanie niezależnymi ścieżkami rozwoju poprzez praktyki forkingu, gdy zajdzie taka potrzeba.