Pytanie:
Czy mogę dostosować napisany przez siebie kod do pracy i wydać go jako open source?
KGS
2019-02-14 16:44:06 UTC
view on stackexchange narkive permalink

Ostatnio pracowałem nad wykonaniem niektórych wywołań API do strony trzeciej. Nie mogłem znaleźć niczego dostępnego do użycia, więc musiałem to zrobić od podstaw. Teraz zastanawiam się, czy byłoby w porządku, gdybym przepisał wszystkie części specyficzne dla platformy i wydał je jako oprogramowanie typu open source (powiedziałbym, że zmieniłoby to ~ 50% kodu)?

Teraz Dokument API, który dostałem od innej firmy, zawiera tekst „zastrzeżone i poufne”, ale zakładam, że dotyczyłoby to tylko samego dokumentu. Kiedy poprosiłem ich o pomoc w pewnym momencie, powiedzieli mi, że nie obsługują języka, którego używam. Nie podpisałem umowy NDA dotyczącej tej umowy, mam ogólną umowę dotyczącą danych i informacji klienta (a to nie są klienci). Trochę się waham, czy zapytać o to kogoś z mojej firmy, ponieważ mam 0 doświadczenia w tego typu sprawach i nie wiem, czy oceniliby to negatywnie.

edit

Dziękuję wszystkim za radę. Wiem, że kod, który piszę, należy do mojego pracodawcy, ale pomyślałem, że ponieważ większość tego, co robimy, zależy od platformy, musiałbym go znacznie przebudować, aby działał niezależnie, a resztę można uznać za powszechny sposób rzeczy. Jeśli chodzi o własnościowe API, do którego miałoby się ono stać opakowaniem, ma schematy wsdl i xsd, do których można uzyskać dostęp publicznie (aczkolwiek trzeba by wiedzieć, skąd je wziąć), na podstawie których można dowiedzieć się, jak z niego korzystać . Myślę, że najlepiej byłoby porozmawiać z kimś… Powiem ci, jak to idzie

Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (https://chat.stackexchange.com/rooms/89744/discussion-on-question-by-kgs-can-i-adapt-code-i-wrote-for-work-i-zwolnij-it-a).
O które miejsce na świecie pytasz?
Powiązane pytanie LAW SE: https://law.stackexchange.com/questions/33987/can-copying-simple-general-code-cause-copyright-infringement-and-is-it-even-pos
Dziewięć odpowiedzi:
Mason Wheeler
2019-02-14 19:42:24 UTC
view on stackexchange narkive permalink

Właściwie to zrobiłem. W pewnym momencie napisałem trochę kodu w pracy i zdałem sobie sprawę, że będzie to ogólnie przydatne, znacznie wykraczające poza zakres konkretnego projektu, nad którym pracowałem. Zapytałem więc swojego szefa (który był również dyrektorem generalnym; była to bardzo mała firma), czy opublikowanie tego jako oprogramowania typu open source jest w porządku, a on odpowiedział, że będzie dobrze.

Uwaga: ten ostatni fragment jest bardzo, bardzo ważny. Jako pracownik, kod, który napisałem dla firmy, brzmiał „praca na zlecenie”, co oznacza, że ​​mój kreatywny produkt nie był moją własnością , ale mój pracodawca. Tak więc bez zgody prawnego właściciela opublikowanie tego byłoby co najmniej wykroczeniem związanym z egzekucją, a być może również przestępstwem.

(IANAL, ale jest to dość dobrze rozumiane i szeroko rozumiane zaakceptowana interpretacja obowiązującego prawa Stanów Zjednoczonych.)

+1 Tak, to jedyny sposób, aby móc uwolnić kod.Musisz mieć pozwolenie od firmy, ** PISEMNE **, stwierdzające, że możesz dostosować kod do użytku publicznego.
Ta dobra odpowiedź byłaby jeszcze lepsza, gdyby uznano, że zgodnie z prawem nie potrzebujesz żadnego zezwolenia, jeśli samodzielnie odtwarzasz dzieło bez korzystania z zasobów zapewnianych przez zatrudnienie.
@Aaron To właściwie nie do końca prawda.Niektóre firmy (przynajmniej kiedyś) zmuszały inżynierów (oprogramowanie i inne) do podpisywania umów, które określałyby wszelkie IP / rzeczy, które stworzyli, i tak były własnością firmy.Niezależnie od tego, czy robiłeś to z pomocą zasobów firmy, w godzinach pracy, czy poza nimi, w firmie czy poza nią, nie miało znaczenia.Wszystko, co stworzyłeś, należało do nich.Od jakiegoś czasu nie słyszałem o żadnym, ale nadal jest to coś, co OP musiałby ocenić.
Uwaga: w wielu jurysdykcjach porozumienie ustne jest prawnie wiążące.Posiadanie pisemnej zgody jest zawsze świetne do obrony, ale może nie być wymagane prawnie.Nawet w jurysdykcjach, w których ustne porozumienia nie są wiążące, jeśli rozmowa została nagrana w formie audio zamiast podpisanej umowy, sędzia może zdecydować o potraktowaniu jej podobnie.
Komentarz @DavidK nie może być sformułowany wystarczająco mocno.** POBIERZ PISEMNIE **
@JohnVandivier Masz rację, ustne umowy mogą być wiążące, ale jeśli szef, który powiedział ci, że wszystko w porządku, powie później: „Nigdy mu nie powiedziałem, że może to zrobić!”, To nie masz szczęścia.Nie chodzi o posiadanie prawnie wiążącej umowy - chodzi o to, aby móc udowodnić, że otrzymałeś pozwolenie.
Ponadto, dla przekonania szefów, pomocne jest znalezienie dobrego, istniejącego projektu open source, do którego mógłby dołączyć z organizacją non-profit, która za nim stoi.Ogólnie rzecz biorąc, nigdy nie powiedzą tak w przypadku czegoś, co jest kluczową kompetencją, ale jeśli jest to coś stycznego, co nie jest monetyzowane, a następnie zostaje przekazane organizacji non-profit, może to być odpis z tytułu podatku (sposób na zarabianie na czymś, co normalnie nie jest możliwe do spieniężenia))
@JohnVandivier „Umowy ustne są warte tylko papieru, na którym są napisane”. Nigdy nie ufaj ustnym umowom.Nawet jeśli zostanie nagrany, obrona może wskazać, że tworzenie fałszywych nagrań rzeczy, których dana osoba nigdy nie powiedziała, nie jest wcale trudne.Właśnie z tego powodu nagrania są często wyrzucane do sądu.Nagrania to dobra karma dla tabloidów, a nie dobra obrona prawna
@JohnVandivier [this] (https://www.sciencedaily.com/releases/2003/04/030411071141.htm) został napisany w 2003 roku!Od tego czasu stało się ** dużo ** łatwiejsze.To naprawdę pomocne (i trochę zabawne, jako inżynier dźwięku), gdy ktoś psuje scenariusz i niekoniecznie muszę przynosić go z powrotem do ponownego nagrania.
To!Ponadto może to przekonać firmę, jeśli zaproponujesz umieszczenie na niej jej nazwiska i przedstawienie jej jako darmowego marketingu.Ale nawet w takim przypadku PYTAJ!
@user87779 Nie wspominając o tym, że nagrania są zazwyczaj nielegalne, jeśli rozmówca nie zgadza się, a także ignorowane w sądzie tylko z tego powodu w niektórych jurysdykcjach.
@Aaron Nawet jeśli go przepisałeś, chyba że całkowicie zmieniłeś prawie wszystko, firma może po prostu argumentować, że wszystko, co zrobiłeś, to * przepisanie * ich kodu.Właśnie dlatego, gdy Compaq odtwarzał BIOS IBM w 1982 roku, miał jeden zespół, który dokonał inżynierii wstecznej kodu i napisał dokładną specyfikację, a drugi * zupełnie inny * zespół, który wziął ten kod i użył go do napisania BIOS-u, który by to zrobił.dokładnie to samo, bez podlegania prawom autorskim.(Zobacz także [Projekt pomieszczenia czystego] (https://en.wikipedia.org/wiki/Clean_room_design))
@user87779 To samo dotyczy jednak podpisów i pisemnych uprawnień - łatwo je sfałszować.Jednak nie wydaje się, by ktoś wyrzucał go tak często z jakiegokolwiek złożonego powodu prawnego.
@JanusBahsJacquet Prawda, ale trochę inna.Wydaje mi się, że najwyraźniej można to ująć w ten sposób: sfałszowanie podpisu lub wiadomości e-mail w sposób niemożliwy do udowodnienia wymaga sporo praktyki (prawie ekspert) i sporo wysiłku.Wystarczy trochę punka z bandcampem i dostępem do internetu (instrukcje krok po kroku), aby sfałszować nagranie.Ale masz rację.Technologia to przyspieszenie i wkrótce będzie równie łatwo fałszywe podpisy, pieczęcie notarialne, bazy danych i źródła poczty e-mail dla osób niebędących ekspertami.Miejmy nadzieję (najprawdopodobniej) wraz z przyspieszeniem działań zaradczych.
Jak wysoko w hierarchii służbowej trzeba się znaleźć?Czy trzeba uzyskać pozwolenie od CEO, czy wystarczy tylko bezpośredni szef?
W teorii masz rację.Jednak w praktyce: jeśli jest to coś małego i stosunkowo nieistotnego i nie szkodzi aktywnie biznesowi firmy w żaden sposób, to wątpię, czy firma kiedykolwiek pozwie Cię o coś takiego.Prawdopodobnie nigdy się nie dowiedzą.
gnasher729
2019-02-14 16:51:24 UTC
view on stackexchange narkive permalink

Kod, który napisałeś do pracy, jest własnością Twojej firmy. Opublikowanie go, jako open source lub w inny sposób, jest naruszeniem praw autorskich i spowoduje zwolnienie. Stwarza to również koszmar prawny dla każdego, kto bierze ten kod, zakładając, że jest to oprogramowanie typu open source, podczas gdy w rzeczywistości jest własnością Twojej firmy.

A „dostosowanie” kodu ci nie pomaga. Tworzysz dzieło pochodne. To jest naruszenie praw autorskich, zanim jeszcze skopiujesz swoją pochodną pracę.

Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (https://chat.stackexchange.com/rooms/89775/discussion-on-answer-by-gnasher729-can-i-adapt-code-i-wrote-for-work-i-wydania).
John Vandivier
2019-02-14 22:39:42 UTC
view on stackexchange narkive permalink

Nie zgadzam się z większością tutaj. Najwyraźniej większość ludzi twierdzi, że nie powinieneś tego robić. Niekoniecznie się z tym nie zgadzam, ale podtekst iw wielu przypadkach jawna wiadomość brzmi: prawnie nie możesz tego zrobić , zamiast po prostu nie powinieneś tego robić . Prawna poprawność tej wiadomości jest daleka od jasności w twoim przypadku i ogólnie.

Miło jest widzieć, że chociaż jestem w mniejszości, nie jest to tak niejasne, że żadne inne odpowiedzi nie zgadzają się z moim poglądem lub że wszystkie odpowiedzi, które są zgodne z moim zdaniem, są oceniane negatywnie. Zgadzam się z duchem przesłania @ Kittoes0124.

Jako mniejszość z pewnością powinniśmy się czegoś nauczyć od ostrożnej większości: wielu programistów zostało zwolnionych lub gorzej za naruszenie praw autorskich lub inne naruszenie własności intelektualnej. Rezultatem niestety było przekroczenie defensywności społeczności, co prowadzi do szkód dla społeczności Open Source i całego społeczeństwa, które czerpie korzyści z silnej społeczności systemów operacyjnych.

Jeden apropos comment odwoływał się do Clean Room Design, który jest prawnie pobłogosławioną, wypróbowaną i sprawdzoną metodą powielania funkcji bez naruszania praw autorskich. Zwróć uwagę, co link do artykułu mówi o projektowaniu pomieszczeń czystych, wraz z uzasadnieniem prawnym:

Projektowanie pomieszczeń czystych jest zwykle stosowane jako najlepsza praktyka, ale nie jest to ściśle wymagane przez prawo . W sprawie NEC Corp. przeciwko Intel Corp. (1990), NEC zwrócił się o orzeczenie deklaratoryjne przeciwko zarzutom Intela, że ​​inżynierowie NEC po prostu skopiowali mikrokod procesora 8086 w swoim klonie NEC V20. Amerykański sędzia orzekł, że chociaż wczesne, wewnętrzne wersje mikrokodu NEC były rzeczywiście naruszeniem praw autorskich, to późniejsza, która faktycznie trafiła do produktu NEC, chociaż wywodzi się z tego pierwszego, wystarczająco różniła się od mikrokodu Intela, można ją uznać za wolną od naruszenia praw autorskich.

To jest właściwy standard w Stanach Zjednoczonych. Opiera się na orzecznictwie, a nie na opinii deweloperów czy anegdocie. Możesz odwoływać się do zastrzeżonego kodu i osobistego doświadczenia w celach informacyjnych, a nawet używać tego dosłownego kodu jako konkretnego punktu wyjścia, ale ostateczny kod musi być „wystarczająco inny”.

Wydaje się, że jest to niejednoznaczne i arbitralny standard, ponieważ tak właśnie jest. Sędziowie różnią się pod względem pobłażliwości interpretacji przepisu, ale zasada jest jasna. Powszechna mądrość brzmi „lepiej bezpiecznie niż przepraszać” i dlatego wielu profesjonalistów niestety unika publicznego wyświetlania jakiegokolwiek kodu. Generalnie mądrzejsze i mniej ryzykowne jest uzyskanie wewnętrznej zgody korporacji, ale generalnie nie jest to wymagane przez prawo. Może to być wymagane prawnie, jeśli podpisałeś dodatkowe dokumenty lub jeśli w Twojej jurysdykcji obowiązują specjalne przepisy.

Ważną uwagą w Twoim konkretnym przypadku jest to, że istnieje ważna różnica między kodem, który proponujesz do wysyłki, a oryginalny kod. Oświadczasz, że oryginalny kod jest specyficzny dla platformy i proponujesz dostarczyć kod niezależny od platformy. Oznacza to, że istnieją przypadki użycia, których starszy kod nie obsługuje. To jest jedna z metod wykazania znaczącej różnicy. Możesz dodatkowo wzmocnić tę różnicę, celowo ustawiając swoje rozwiązanie jako niezgodne ze starszą platformą. Oznaczałoby to, że przypadki użycia w ogóle się nie pokrywają.

Nie jestem prawnikiem i to nie jest porada prawna. Jeśli zdecydujesz się na coś takiego, radzę skonsultować się z prawnikiem. Widzę wiele amerykańskich precedensów prawnych potwierdzających fakt, że kodując w naturalny sposób będziesz czerpać z wcześniejszego doświadczenia i wiedzy, w tym odwoływać się do konkretnych przykładów kodu, a to nie czyni Open Source nielegalnym.

Używanie tej samej składni nie musi być problemem. Wiele języków i bibliotek udostępnia tylko jeden syntaktyczny sposób wykonywania określonej czynności, a najlepsze praktyki istnieją dla funkcji, zmiennych itd., Tak że używanie nawet tych samych nazw zmiennych może być nieuniknione w przypadku replikacji funkcji. W takich przypadkach znacząca różnica może być niemożliwa, a tym samym niewymagana.

Pamiętaj, że te ogólne pojęcia byłyby całkowicie nie do obrony, gdybyś podpisał konkretną NDA lub inne dokumenty.

Dwie inne powiązane uwagi. Po pierwsze, naruszenia praw własności intelektualnej podlegają w USA przedawnieniu ( źródło):

Naruszenie praw autorskich może skutkować odpowiedzialnością cywilną i / lub karną. Okres przedawnienia w postępowaniu karnym wynosi pięć lat, natomiast w przypadku postępowania cywilnego - trzy lata.

Druga uwaga dotyczy tylko 4 (AFAIK / IANAL) rodzajów własności intelektualnej ( źródło):

  1. Prawa autorskie
  2. Znak towarowy
  3. Patent
  4. Tajemnice handlowe

Jeśli masz do czynienia z IP, które nie mieści się w kategoriach 1-3, dostosowanie kodu do własnego użytku jest mniej problematyczne z prawnego punktu widzenia. Wydaje mi się trudne, że ktokolwiek mógłby twierdzić, że X jest tajemnicą handlową, jeśli X jest powszechnym wzorcem lub funkcją w innym oprogramowaniu, szczególnie jeśli już istnieje w projektach Open Source.

Istnieją przynajmniej (w UE) prawa do baz danych.Biorąc pod uwagę, że wymyśliłem jeszcze jeden, prawdopodobnie są też inne.
Zgadzam się.Należy koniecznie zauważyć, że mój komentarz dotyczy Stanów Zjednoczonych.Szczerze mówiąc, żałuję, że w innych odpowiedziach nie podano odpowiednich jurysdykcji.Powiązana uwaga, na wypadek gdyby ktoś nie był tego świadomy, jest taka, że eksperci patentowi w USA i UE faktycznie komunikują się, aby zapewnić, że patenty są stosowane w tych obszarach, z pewnymi wyjątkami.
To bardzo dokładna i dobrze przemyślana odpowiedź oraz dobre informacje ogólne!Nadal zdecydowanie zalecałbym OP, aby najpierw skonsultowali się ze swoim pracodawcą, ponieważ nawet jeśli to, co chcieli zrobić, okazało się zatrzymane w sądzie, prawdopodobnie nie będą chcieli, aby ich pracodawca postawił ich przed sądem (ani nie zostanie zwolniony), który prawdopodobnie zostałby skierowany do sądu).Najlepszym sposobem uniknięcia tej możliwości jest sprawdzenie najpierw.
@bob Całkowicie się zgadzam.Idealnie byłoby, gdyby OP nigdy nie musiał zwracać się do sądu.Cieszę się, że zawiera przydatne informacje!
Należy pamiętać, że dzieje się tak w przypadku, gdy nie masz uprawnień od pracodawcy do opublikowania kodu.Jeśli zapytasz, a oni odpowiedzą, że tak, nie musisz się nawet martwić o własność intelektualną lub prawa autorskie.
O wiele lepiej powiedziane niż ja. Zauważyłem, że ogólna społeczność (tutaj iw mojej dziedzinie) wydaje się wierzyć, że * cały * kod napisany dla firmy należy do kategorii 4.
@Kittoes0124 To dlatego, że każda umowa o pracę, którą widziałem, zawiera umowę, która to czyni.(Wprawdzie widziałem tylko około 10.)
Jeśli jesteś twórcą oryginalnego kodu, nie możesz tak naprawdę zaprojektować czystego pomieszczenia.
Jak dotąd jest to jedyna poprawna odpowiedź
Ta odpowiedź stwierdza, że nie zgadza się z większością, a następnie zgadza się z nimi, że nie powinieneś dostosowywać kodu pracodawcy.Następnie zawiera przydatną sugestię dotyczącą projektu pomieszczenia czystego (czyli _nie_ adaptacji).Usunąłbym wszystkie informacje o nie zgadzaniu się, ponieważ wydaje się, że nic nie dodaje.
To bardzo dobra odpowiedź!Możesz być zainteresowany, aby sprawdzić https://law.stackexchange.com/?tags=intellectual-property
Podczas przeglądu uważam, że stwierdzenie, że nie zgadzam się z opinią większości, dodaje cenny kontekst do potencjalnie nieostrożnego użytkownika, który może zaakceptować te informacje, nie zdając sobie sprawy, że są one potencjalnie kontrowersyjne.Dodatkowo, jeśli ktoś przeczytał tekst NEC Corp. przeciwko Intel Corp. (1990) i nie zrozumiał, w jaki sposób zezwala na pewne rodzaje adaptacji, polecam, aby ponownie przejrzał ten tekst.
eMBee
2019-02-14 20:07:23 UTC
view on stackexchange narkive permalink

Krótka odpowiedź brzmi: nie bez wyraźnej zgody .

Musisz zapytać swoich przełożonych. Całkiem możliwe, że twój przełożony będzie musiał przekazać pytanie w górę łańcucha.

Jeśli masz szczęście, firma ma na to odpowiednią procedurę. Jeśli nie, pomocne może być sprawdzenie, czy zostało to wcześniej zrobione. Zapytaj swoich współpracowników. Poprzedni przykład wydania kodu jest bardzo pomocnym precedensem. Przykład innej firmy może również pomóc, podobnie jak zasoby społeczności wolnego oprogramowania i otwartego oprogramowania, które wyjaśniają proces i konsekwencje. Wszystko, co pomoże przełożonym w ułatwieniu tego.

Przed wydaniem jakiegokolwiek kodu firma musi przeprowadzić audyt, aby upewnić się, że jest on w pełni własnością firmy.

bardziej szczegółowe implikacje prawne i zasoby ułatwiające ten proces, bardziej przydatne odpowiedzi możesz uzyskać pod adresem https://opensource.stackexchange.com/

Kittoes0124
2019-02-14 21:34:24 UTC
view on stackexchange narkive permalink

Chociaż odpowiedzi udzielone do tej pory są dobrą radą, myślę, że idą za daleko. Kod, który napisałeś, należy do twojego pracodawcy, ale generalnie nie jest on właścicielem wiedzy i umiejętności zdobytych podczas jego implementacji.

Załóżmy, że zlecono Ci zaimplementowanie generatora liczb losowych przy użyciu zastrzeżonego interfejsu API Ciebie przez osobę trzecią; dla uproszczenia ten interfejs API składa się z pojedynczego podpisu bajt publiczny [] GetRandomBytes (długość int) . Musisz zaimplementować nową klasę RandomNumberGenerator , używając wybranego algorytmu open source (takiego jak PCG lub Xoroshiro), który udostępnia interfejsy API public long GetNextInt64 () i public long GetNextInt64 (long lowerBound, long upperBound) .

Twój pracodawca byłby właścicielem określonego kodu, który napisałeś, ale to już prawie koniec. Nic nie stoi na przeszkodzie, aby później zaimplementować własną wersję RNG, która zależy od, powiedzmy, / dev / random jako źródła losowych bajtów. Może to być mądrym posunięciem obronnym, aby użyć innego algorytmu i sygnatur funkcji (tam, gdzie ma to sens), ale ma to coraz mniejsze znaczenie, im bardziej zależy to od materiału open source.

Jest na pewno wiele przypadków, w których należy postępować zgodnie z dotychczasową radą NIE ROBIĆ TEGO! , ale zdecydowana większość rzeczy, o które programiści są proszeni, należy do kategorii wiedzy ogólnej.

Po co próbować przekonać obecnego pracodawcę, że kod, który opublikowałeś, znacząco różni się od kodu w pracy?(BTW pisanie kodu nie jest wiedzą ogólną)
@EdHeal Chcę uczynić świat lepszym miejscem i nie mam nic przeciwko temu, aby podjąć minimalne ryzyko.Oczywiście, mając odpowiednią motywację, firma * mogłaby * próbować wystąpić po mnie w sądzie, ale o wiele bardziej prawdopodobne jest to, że po prostu otrzymam niezłe portfolio prac;jeśli mam szczęście, wiele osób będzie go aktywnie używać!I tak, kod absolutnie może być wiedzą ogólną.Na przykład żadna firma nie może rościć praw do „(ax + c)% m”.Mogą mieć patent na konkretną technikę, ale dlatego pisząc open source należy uważać, aby polegać na otwartym kodzie źródłowym.
Zgadzam się z twoim pierwszym stwierdzeniem, ale nie z twoim przykładem.Jeśli wdrażasz opakowanie generatora dla swojego pracodawcy, wartość własności intelektualnej znajduje się w opakowaniu, a nie w generatorze.Jeśli rozszerzysz opakowanie, aby obsługiwać inny generator, nadal będzie to dzieło pochodne opakowania, które należy do twojego pracodawcy.Jeśli przepisujesz jeden od podstaw, stosując tę samą logikę, nadal jest to praca pochodna w oku prawa własności intelektualnej.Jeśli nie używasz ani kodu, ani „pomysłu na kod”, nie masz nic do opublikowania.
@zakinster Nonsens, pomyśl o tym, co sugerujesz, żadna firma nie może rościć sobie pretensji do „idei kodu” w moim przykładzie, ponieważ nie jest on oryginalny.Jeśli idea `X` ma już implementację typu open source, to nie jest zabronione tworzenie własnej pochodnej tylko dlatego, że zaimplementował wersję` X` w swojej formalnej pracy.Interfejs opisany w moim przykładzie ma tak wiele istniejących wdrożeń, że firma nie mogłaby legalnie rościć sobie praw do tej koncepcji.Znowu trzeba być ostrożnym, ale nie przesadzajmy ...
@Kittoes0124 Pytanie dotyczy opublikowania czegoś, co istnieje.Jeśli ta rzecz nie jest ani oryginalnym kodem, ani oryginalnym pomysłem stojącym za kodem, co można opublikować?Jeśli jest to nowa, niepowiązana praca, wykonana przy użyciu ani istniejącego kodu, ani żadnego oryginalnego pomysłu, ale tylko umiejętności, to jest to nowa praca, ale nie byłoby pytania.Samo istnienie pytania „czy mogę opublikować” implikuje związek między nowym dziełem a istniejącym dziełem, które jest albo wdrożeniem, albo koncepcją, które należą do pierwotnego właściciela.
@zakinster Występuje niezwykle powszechny problem w tworzeniu oprogramowania, w którym algorytm „X” nie jest łatwo dostępny w języku „Y”.Na przykład branża finansowa szeroko wykorzystuje algorytmy cyfr kontrolnych domeny publicznej (takie jak [mod10] (https://en.wikipedia.org/wiki/Luhn_algorithm)) w celu dodania warstwy walidacji do rzeczy takich jak kontoi numery rozliczeniowe;nie są one częścią żadnej standardowej biblioteki.Wdrożenie takiego algorytmu dla firmy wcale nie przeszkodziłoby mi w stworzeniu własnej biblioteki open source.Dlaczego miałabym?Aby inni nie byli zmuszani do uczenia się tego, co zrobiłem.
@Kittoes0124 Tak, zgadzam się, jeśli nie używasz niczego ponownie, teoretycznie możesz.Ale kwestionuję motyw, który za tym stoi.Chodzi mi o to, że jeśli istnieje motyw do opublikowania czegoś, oznacza to, że istnieje wartość do ponownego wykorzystania, a wartość należy do pierwotnego właściciela.Nie jest to w 100% prawdziwe, ponieważ w twoim przypadku nie ma wartości ponownie wykorzystanej, ale tylko umiejętności w Y i znajomość X. Ale nadal uważam, że jest to bardzo specyficzny przypadek i ogólnie, gdy zadaje się to pytanie, motyw = wartość ponownego wykorzystania.
Pozwól nam [kontynuować tę dyskusję na czacie] (https://chat.stackexchange.com/rooms/89740/discussion-between-kittoes0124-and-zakinster).
Robert Andrzejuk
2019-02-15 15:43:16 UTC
view on stackexchange narkive permalink

W mojej firmie stosujemy politykę otwartego oprogramowania.

Aby korzystać z oprogramowania typu open source, licencja musi zostać zatwierdzona do użytku i wszystkie określone ograniczenia.

Aby przyczynić się do powstania oprogramowania typu open source, kod musi zostać przygotowany i przesłany do przeglądu i zatwierdzone.

Musisz poznać zasady obowiązujące w Twojej firmie.

Uważam, że to najbardziej poprawna odpowiedź.Aby uniknąć ewentualnych problemów, uzyskaj zgodę swojej firmy przed udostępnieniem jej do Open Source.
zakinster
2019-02-15 00:31:15 UTC
view on stackexchange narkive permalink

Czy mogę dostosować kod, który napisałem do pracy i udostępnić go jako open source?

Nigdy bez wyraźnej zgody właściciela własności intelektualnej, którym może być Twój pracodawca, Twój klient lub klient Twojego pracodawcy.

Programiści nie są małpami kodu, wartość w programie jest nie tylko w kodzie, ale także w logice implementacji, tj. pierwotna idea kodu .

Jeśli tworzysz nowy kod, używając jakiejkolwiek części istniejącego kodu lub nawet jakiejkolwiek oryginalnej idei kodu, tworzysz dzieło pochodne, które musi być autoryzowane przez właściciela oryginalnego praca.

Jeśli ponownie nie wykorzystasz ani kodu, ani oryginalnego pomysłu, nie masz nic do opublikowania, dopóki nie wykorzystasz tylko swoich umiejętności do stworzenia nowej, niepowiązanej pracy.

David Thornley
2019-02-15 03:02:45 UTC
view on stackexchange narkive permalink

Jeśli chcesz, aby kod był użytecznym oprogramowaniem typu open source, musisz legalnie uzyskać licencję. Wydanie kodu z nieprawidłową licencją źródłową, aby był dostępny, jest ustawieniem legalnych bomb zegarowych dla osób, które używają go w dobrej wierze. Mogą zostać pozwani o odszkodowanie i mogą otrzymać nakazy przeciwko wykorzystaniu materiałów chronionych prawem autorskim. Nie chcesz tego robić. Dystrybucja musi być jasno legalna.

Aby tego uniknąć, potrzebujesz zezwolenia od właściciela, który pozwoli na rozpowszechnianie programu na licencji Open Source. Musi to zrobić ktoś z odpowiednimi uprawnieniami i musisz ustalić, kto to jest. To powinno być napisane i podpisane. Werbalna umowa jest technicznie wystarczająca, ale trudno jest udowodnić takie ustne uzgodnienia, a osobie, która mówi, że można zaprzeczyć, że powiedziała coś takiego lub miała na myśli, łatwo jest zaprzeczyć, a więc pozwy są całkiem możliwe.

Cieszę się, że ktoś próbuje udostępnić oprogramowanie na licencji Open Source, ale rozpowszechnianie go na podstawie nieprawidłowej licencji to zły pomysł.

Basile Starynkevitch
2019-02-17 22:18:14 UTC
view on stackexchange narkive permalink

Nie jestem prawnikiem. Ale programistą (we Francji) i biorę udział (zawodowo) w projektach open source, a czasem nawet zawodowo tworzę oprogramowanie open source.

Musisz uzyskać pozwolenie od swojego pracodawcy.

Pamiętaj, że kod źródłowy jest często chroniony prawem autorskim lub tajemnicą handlową, a kod źródłowy, który piszesz w miejscu pracy, należy do ( chyba że zostało to określone na piśmie w jakiejś umowie) do Twojej firmy. W niektórych umowach o pracę każdy kod, który piszesz (nawet w domu) należy do pracodawcy.

Granicą może być przepisanie tego kodu w jakimś innym języku programowania (np. Napisanie czegoś w domu w Rust pisałeś w pracy w C w swoim biurze). Ale nawet w takim przypadku lepiej zapytaj swojego szefa (przynajmniej przez e-mail) i uzyskaj od niego zgodę.

W Europie algorytmy zwykle nie mogą być chronione (ale ich implementacja kodu źródłowego może i często jest). W USA słyszałem, że nawet algorytmy można opatentować.

Przy okazji, nie chcesz kłopotów z szefem. Więc mimo wszystko powinieneś go o tym poinformować i zapytać. Mógłby zdecydować, że pomoże ci oficjalnie udostępnić ten kod jako oprogramowanie typu open source lub przypomnieć, że możesz narazić się na duże kłopoty. Jeśli masz jakąś (pisemną, przynajmniej e-mailową) zgodę swojego szefa, przynajmniej działasz w dobrej wierze.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 4.0, w ramach której jest rozpowszechniana.
Loading...