Jeśli zmodyfikowałeś czyjś kod, aby zrobić coś, co chciałeś, byłoby nieuczciwe twierdzić, że kod jest „twój”. Jest to raczej program utworzony na podstawie istniejącego kodu.
Być może zauważyłeś, że wielu programistów używa kodu innych osób. Cały czas. Biblioteki i interfejsy API to zasadniczo sformalizowany sposób korzystania z kodu utworzonego przez kogoś we własnym projekcie. Chociaż to, co zrobiłeś, nie było tym samym, co użycie biblioteki lub interfejsu API, ma ten sam efekt.
W przypadku prostego programu P2P możesz twierdzić, że napisałeś aplikację do przesyłania wiadomości, która wykorzystuje implementację prostych protokołów internetowych przez innego programistę. Możesz śmiało nazwać to swoim programem, powinieneś po prostu przyznać kredyt każdemu, kto napisał pożyczone części. I najlepiej byłoby dodawać komentarze do kodu, podając źródło, aby inni mogli go znaleźć, jeśli zajdzie taka potrzeba.
W przypadku gry napisałeś grę. Możesz zgłosić to jako swój kod. Ta gra następnie wykorzystuje zestaw funkcji, które otrzymałeś z innego źródła, aby umożliwić funkcjonalność dla wielu graczy. Znów powinieneś prawdopodobnie umieścić źródło tego kodu przynajmniej w komentarzach w kodzie. Jednak w tej sytuacji możesz prawdopodobnie uniknąć niepotrzebnego mówienia tego innym osobom poza kodem, ponieważ tak naprawdę napisałeś grę.
Wielu programistów polega na bibliotekach, aby radzić sobie z bardziej złożonymi problemami, z którymi się borykają. Rzeczy takie jak protokoły sieciowe, grafika i zaawansowana matematyka są używane przez wiele osób, więc istnieją biblioteki, które wykonują wszystkie te czynności, różnią się między sobą. Korzystanie z tego rodzaju kodu jest nie tylko całkowicie dopuszczalne, ale także normalne.
Jeśli powiesz „to jest klient IM” lub „to gra wideo”, nikt nie będzie zaskoczony, jeśli kod sieci pochodzi od strony trzeciej. Tylko nie twierdz, że jesteś jedynym autorem wszystkich części kodu i powinieneś być w porządku.
Należy jednak rozważyć inną możliwość: czy dany kod jest chroniony przez jakiekolwiek warunki użytkowania? Do tego momentu mówiłem o kodzie, który jest udostępniany albo bez warunków, albo z bardzo otwartymi warunkami. Jeśli jednak autor ma jakieś bardziej szczegółowe warunki, zastosuj się do nich . Jeśli zamierzali kodować go wyłącznie do celów edukacyjnych, to użycie go w jakimkolwiek innym celu nie jest w porządku. Istnieją różne ograniczenia, które mogą nakładać na ten kod, więc uważaj, jak go używasz.