Dodatek: Kod gotowy do wykorzystania
Stack Overflow to strona zbudowana na schemacie Q&A - pytanie-odpowiedź. Użytkownicy zadają pytania, a inni na nie odpowiadają. Oficjalnie strona zniechęca do "dyskusji" - omawiania w nieskończoność najwłaściwszego sposobu rozwiązania problemu. Zamiast tego powinna szybko dawać odpowiedzi na realne problemy.
Z tego powodu na Stack Overflow ciężko natrafić na programy gotowe do wykorzystania, które wystarczy po prostu skopiować i wkleić. Stack Overflow działa tak, że daje kod rozwiązujący konkretne, specjalistyczne problemy, a nie wypluwa cały, działający program.
Różni się tym od innych stron Q&A z szerszej platformy Stack Exchange (która hostuje Stack Overflow). Strony Q&A takie jak Code Review albo Code Golf serwują repozytoria "gotowego kodu".
Code Review to strona, gdzie koderzy omawiają działające programy innych osób i sugerują, jak można je poprawić. (Przykład: Działająca gra w kółko i krzyżyk w Pythonie, JavaScript, PHP i HTML)
Code Golf to strona, na której użytkownicy przyjmują wyzwania i tworzą działające programy spełniające pewne kryteria (np. wielkość). (Przykład: Generowanie słów naiwnym łańcuchem Markowa)
Cały kod z Code Review oraz Code Golf jest objęty licencją CC-BY-SA 3.0 (tak samo jak kod na Stack Overflow). Większość tego kodu to nie są "wycinki". To przecież pełne, działające programy, a nie dwie linijki kodu.
Nawet przepisanie ich w innym języku byłoby utworem pochodnym (ponieważ do napisania własnego kodu inspirował cię kod kogoś innego), więc nadal należy stosować się do warunków licencji CC-BY-SA 3.0.
Jeśli dla własnego kodu posługujesz się copyleft, to nie ma prawnych przeciwwskazań do używania kodu z Code Review albo Code Golf. Jeśli jednak pracujesz na kodzie objętym licencją permisywną albo zastrzeżoną, zastanów się nad wykonaniem implementacji pseudo"Cleanroom", którą przedstawiłem wcześniej w rozdziale o licencjonowaniu kodu.
Korzystanie z Code Review i Code Golf do wyszukiwania "kodu gotowego do wykorzystania" to nie jest dobry pomysł. "Kod gotowy do wykorzystania" tylko czeka na stronach hostujących kod, takich jak SourceForge, BitBucket i GitHub w formie otwartego oprogramowania objętego odpowiednimi licencjami. Na takich stronach znajdziesz "kod gotowy do wykorzystania", który trafi w twoje wyjątkowe potrzeby.
Wykorzystywanie kodu z Code Review i Code Gold można też uznać za nie do końca etyczne, ponieważ korzystasz wtedy z faktu, że na Stack Exchange wszystko bez wyjątku jest objęte licencją CC-BY-SA 3.0. Ludzie wrzucający na Code Review swoją implementację FizzBuzz liczą na to, że ktoś ją omówi, a nie że ty ją sobie wykorzystasz.
Ale oczywiście wolno ci zgodnie z prawem kopiować i wklejać kod z Code Review i Code Golf. Odpowiedzi i komentarze do tego kodu również mogą okazać się niezwykle pomocne i przynajmniej w teorii mogą rozwinąć twoje programistyczne umiejętności.
Last updated