En ole ennen laittanut nettiin omia tuotoksiani, mutta työnhakua varten mua pyydettiin koodia Githubiin. Mitenkä tuolla kannattaa julkaista koodia, ettei tule tekijänoikeusrikkomuksia? Esimerkiksi mulla on piinkovaan salasanaan netistä löydetty koodi, jossa on kaksi cpp-tiedostoa ja yksi h-tiedosto. Korjasin toisesta cpp-tiedostosta yhden rivin (gcc alkoi urputtamaan kun käänsin asetuksilla -Wall -pedantic) ja toiseen tiedostoon tein oman main-funktion. Koodi on alun perin kopioitu jostain blogista, jota en löydä enää. Mutta voinko laittaa kaikki kolme tiedostoa suoraan Githubiin vai laitanko pelkät omat muokkaukseni sinne?
Laita kaikki. Pistä myös tieto mistä lähdekoodi on peräisin. Jos käytät blogissa julkaistua koodia, on myös luonnollisesti lähde näytettävä. Mikäli blogissa on lisenssitiedot annettu, myös ulkopuolista koodia (sekä omaasi) koskevat lisenssit tulee olla näkyvillä.
Työnhakua varten varmaankin toivotaan omia koodeja GitHubiin. Ei ehkä anna työnhaussa hyvää kuvaa, jos julkaiset lähes täysin kopioituja koodeja. Parin rivin muutos ei vielä anna kuvaa omista taidoistasi.
Jos kuitenkin haluat julkaista jotain tuollaista tai jos muutoksesi ovat niin merkittävät, että julkaisu kannattaa, mielestäni oikea tapa olisi merkitä muutoshistoriaan oikeat tekijät. Gitiin sisältyy aina historia, ja joka muutoksella on aina tekijä (author). Nyt ensimmäiseen committiin tulisi laittaa alkuperäiset koodit alkuperäisen tekijän nimissä, minkä jälkeen voisi lisätä omat muutokset omalla nimellä. Näin GitHubistakin helposti näkisi, mikä on omaa ja mikä kopioitua.
Jälkikäteen historian luonti onnistuisi tähän tapaan:
# Aloita git-projekti. git init piinkova cd piinkova # Kopioi alkuperäiset versiot ja tee niistä commit alkuperäisen tekijän nimiin. cp ../piinkova_alkuperäiset/*.* . git commit *.cpp *.h --author="tekijä <email@example.com>" \ -m "Initial commit. Published in a blog which has since disappeared." # Kopioi tilalle omat ja tee commit (muutoksista) omiin nimiin. cp ../piinkova_omat/*.* . git commit *.cpp *.h --author="Jaska Jokunen <jaska@example.com>" \ -m "Modify for Putkaposti #39b: Piinkova salasana. Add a main function to do lorem ipsum dolor sit amet." # Tarkastele lokia ja viimeisintä muutosta. git log git show HEAD
Metabolix kirjoitti:
Työnhakua varten varmaankin toivotaan omia koodeja GitHubiin. Ei ehkä anna työnhaussa hyvää kuvaa, jos julkaiset lähes täysin kopioituja koodeja. Parin rivin muutos ei vielä anna kuvaa omista taidoistasi.
Vaikea sanoa. Luulisi, että moni työnantaja tykkää, jos osaa hyödyntää olemassaolevaa koodia eikä keksi aina pyörää uudestaan. Ja onhan siinä seassa omaakin koodia. Pieni muutos ei tosiaankaan anna suurta kuvaa osaamisesta, mutta jos jatkossa teen useita pieniä muutoksia, niin eiköhän siitä osaamisesta tule näyttöä. Minusta pienenkin parannuksen julkaiseminen johonkin koodiin on parempi kuin jättää julkaisematta.
Toki ulkoiset koodit voi väkertää kirjastoiksi, ja hyödyntää niitä. Nämä olisi myös helppo luetella erikseen
Aihe on jo aika vanha, joten et voi enää vastata siihen.