Wracając do pierwotnego tematu, czyli potrzeby użycia sterownika (i/lub kodu źródłowego), chciałbym się szerzej do tej sprawy odnieść, w jaki sposób można to zrobić.
Wystarczy:
Po samych edycjach takiego kodu sam kod źródłowy na pewno będzie dla niewprawnego oka wyglądał już inaczej, choć wynik działania skompilowanego kodu będzie nadal takie samo - funkcjonalnie ekwiwalentny. Byłaby to dość nieudolna próba ukrycia oryginalnego pochodzenia skopiowanego projektu. Trudno w prosty sposób przez użycie tekstowych porównywarek wtedy już dowieść podobieństw, ale nie jest to kod własny. By kod można było nazwać autorskim, trzeba by przeprowadzić tzw.
clean room design, metodę, którą jest sens używać gdy techniki użyte w oryginalnym projekcie są oparte o opatentowane technologie.
- Następnie można dopasować kod obsługi przerwania VBLank implementując inny (autorski) sposób komunikacji przez złącze myszy, np. korzystając z komunikacji szeregowej przez pin LMB. Tutaj można się wykazać dużą wiedzą asemblera, ale pozostawić np. komentarz o przypisaniu rejestrów procesora, przez które ISR komunikuje się z OS. Alternatywnie można taką listę skopiować z elowar, by ukryć pochodzenie pliku vbserver.s, bo tam lista jest z myślnikami, zamiast dwukrotnych znaków równości.
- Można też pokusić się na poprawę literówki w wyrazie execpt, w powyższym zestawieniu rejestrów, zmieniając ją w jeszcze inna literówkę, np, execept. Ale to już lepiej zostawić lingwistom do wyboru.
Poza pierwszym krokiem odgałęzienia projektu istotne jest także dokumentowanie każdego kroku zmiany w kodzie, najprościej w historii zmian, przez
git add {file}
git commit
Pomaga to uniknąć podejrzeń postronnych osób o plagiat.
Powracając do sedna sprawy, również zmieniony kod każdy może używać i publikować na swoim publicznie dostępnym repozytorium, bo tak stanowi licencja, na której jest opublikowany oryginał, najpierw
Paula i później mój, ale podstawowym wymogiem jest utrzymanie pliku LICENSE z zachowaniem informacji o pochodzeniu tych plików. Szkoda, tylko żeby marnować czas na udowadnianie i prowadzenie takich „amiwojenek” - określenie, o jakim istnieniu się ostatnio dowiedziałem, a teraz stałem się jej mimowolnym uczestnikiem. Jak już @makaron wspomniał, w taki projekt „wpakowuje” się masę czasu i nikt nie ma prawa wartościować swojego czasu wyżej niż kogoś innego: moje 10h jest w/g mnie warte mniej niż 1h godzina Paula nad swoim oryginalnym projektem.
P.S. Wszelkie podobieństwa podanych powyżej (proponowanych) nazw plików, procedur, zmiennych lub pól struktur danych do istniejących projektów są jak najbardziej zamierzone.