Według tego co definiuje prawo w kwestii "praw autorskich" dotyczących kodu, to zmiana nazewnictwa w tym ciała funkcji etc. w zakresie innej istniejącej funkcji np. na licencji jest plagiatem i narusza prawo.
Natomiast jeśli mowa o napisaniu funkcji w innym języku, która nawet jest funkcją realizującą to samo, nie jest już wykroczeniem ( zachować musisz tylko inną implementacje, oraz żeby twoja implementacja nie była zależna od implementacji na CC NC), gdyż można traktować to jako "własność twórczą" i w rozumienie Prawa jest to już osobne dzieło.
Podstawowe pytanie jest: czy ta licencja jest open-source, czy jest płata i nie jest ogólna dostępna. Dla dostępnych licencji korzystanie z nich we własnym projekcie jest dozwolone, również wtedy wydając je na swojej licencji. (patrz projekty własne wydawane na elementach z licencji MIT).
Także jeśli korzystasz z reverse engineering to kluczowe jest, aby upewnić się, że Twoja implementacja nie narusza praw autorskich oryginalnego projektu. Dodatkowo jeśli korzystamy z licencji CC NC to wszystko możesz wykorzystać do momentu kiedy nie jest to rozwiązanie KOMERCYJNE.