Pytanie:
Czy etyczne jest używanie zastrzeżonego (o zamkniętym źródle) oprogramowania do obliczeń naukowych?
Deja
2016-12-01 03:27:49 UTC
view on stackexchange narkive permalink

Mam dane ze zwykłego eksperymentu naukowego. Teraz, aby przeanalizować dane, najwygodniej jest dla mnie użyć zastrzeżonego oprogramowania o zamkniętym kodzie źródłowym.

Czy używanie tego rodzaju oprogramowania w badaniach jest etyczne?

Jeśli go użyję, ta część będzie wielką czarną skrzynką w moich badaniach. Więc jeśli ktoś nie może odtworzyć mojej analizy danych tym samym lub jakimś innym oprogramowaniem, to zależy od firmy programistycznej, czy uda nam się dowiedzieć, co poszło nie tak. Jeśli firma programistyczna nie chce współpracować, może nigdy się nie dowiedzieć, co poszło nie tak. Mam wrażenie, że jest to sprzeczne z zasadami nauki.

Czy masz na myśli oprogramowanie dostępne na rynku? Czy same algorytmy są zastrzeżone, czy tylko oprogramowanie, które je implementuje?
Jeśli metody są powtarzalnie udokumentowane (albo oprogramowanie jest złotym standardem i wszyscy go używają, wierząc, że jest to miarka używana w terenie), prawdopodobnie jest w porządku. Mógłbyś na przykład mieć oprogramowanie, które robi coś „magicznie”, w sposób nieudokumentowany, ale w którym łatwo jest sprawdzić, jak działa (np. Rozpoznawanie obrazu, wyrównanie itp.). Więcej szczegółów?
Zobacz [Popularny program prawnie zastrzeżony lub niejasny substytut otwartego kodu dla odtwarzalnych badań?] (Http://academia.stackexchange.com/questions/2381/popular-proprietary-program-or-obscure-open-source-substitute-for-reproducible- r)
W niektórych dziedzinach jest to absolutnie standardowe - np. inżynierii mechanicznej, gdzie zastrzeżone oprogramowanie „złotego standardu” jest wynikiem setek osobolat prac rozwojowych. Jeśli odwołasz się do dokładnej wersji używanego oprogramowania, jest to tak samo akceptowalne, jak każde inne odniesienie w papierowej IMO. Nawet jeśli korzystasz z oprogramowania open source, nie ma gwarancji, że * każdy * może wyśledzić błąd retrospektywnie, chyba że udokumentujesz i zachowasz * absolutnie wszystko * w łańcuchu narzędzi, którego użyłeś do zbudowania swojej wersji - nie tylko „źródło aplikacji” kod".
Cóż, to samo dotyczy w zasadzie każdego instrumentu używanego w badaniach.
Dosłowna interpretacja tego spowodowałaby nieetyczne wykonywanie obliczeń dla publikacji za pomocą programu Excel, nie wspominając o Stata czy SAS. Nie chciałbym oszacować penetracji R i Pythona w środowisku akademickim, ale nadal jestem całkiem pewien, że zdyskwalifikowałoby to większość opublikowanych badań w ciągu ostatnich 20 lub 30 lat.
Powiązane: [Czy można używać Mathematica do uzyskiwania wyników w swoich badaniach?] (Http://academia.stackexchange.com/q/71536/11907). Myślę, że to, co napisałem w mojej odpowiedzi, odnosi się głównie do tego.
To samo można powiedzieć o każdym używanym urządzeniu sprzętowym, zwłaszcza jeśli zawiera ono mikrokontroler (co robi prawie wszystko, co elektroniczne). Nie masz pojęcia, co właściwie robi ten sprzęt.
@David: Ciekawe, z poniższych odpowiedzi, przez które z nich ich argument (jeśli zostanie przyjęty) przejdzie, aby wykazać, że użycie opatentowanego narzędzia (leku, sprzętu laboratoryjnego, sprzętu komputerowego, śrubokręta, ołówka itp.) Jest nieetyczne. eksperyment :-) To oddziela „nie odtwarzalny, ponieważ niejasny” od „niemożliwy do odtworzenia, ponieważ zależy od zgody właściciela IP”.
zagłosuj na @DSVA za przypomnienie, że jeśli budujesz ze źródeł, musisz udokumentować *** każde *** oprogramowanie, którego używasz do tego: jaka wersja `make`, który kompilator i jaka wersja itp. itp. w odpowiednio wykonanych projektach oprogramowania sprzętowego poddajemy zarówno narzędzia, jak i kod źródłowy kontroli wersji
@Mawg to nie tylko oprogramowanie, ale także sprzęt. Mam na myśli, że jako chemik użyłbym dostępnego w handlu elektronicznego termometru. Gdybym musiał zbudować własne oprogramowanie typu „open source”, donikąd bym nie doszedł :-D
Lolx! Ale przypuszczalnie istnieje akceptowana liczba h / w, która została odpowiednio skalibrowana i niezależnie przetestowana? Wpadłbyś w kłopoty tylko wtedy, gdybyś użył „bez nazwy” w / w?
Dwanaście odpowiedzi:
CrepusculeWithNellie
2016-12-01 06:04:15 UTC
view on stackexchange narkive permalink

Nie sądzę, że jest to przede wszystkim kwestia etyczna. Powtarzalność nie jest zagrożona przez wymóg, aby pieniądze musiały zostać wydane na zakup oprogramowania lub przygotowanie eksperymentu (lub czy istnieją akceleratory cząstek typu open source?).

Chociaż rozwiązania open source są preferowane z wielu powodów, istnieją wyraźnie przypadki, w których użycie zastrzeżonego oprogramowania P jest właściwe:

  • Gdy wiadomo (i zostało zweryfikowane), że implementacja metody M w P jest poprawna, podczas gdy znane implementacje M o otwartym kodzie źródłowym nie zostały (jeszcze) uznane za wiarygodne. I odwrotnie, gdy wiadomo, że implementacja open source O daje prawidłowe wyniki, podczas gdy w przypadku P nie zostało to ustalone, wówczas oczywiście należy użyć O, gdy istnieje wybór.
  • Gdy można rozsądnie oczekiwać, że P jest szeroko dostępne w instytucjach badawczych (a tym samym dla badaczy), jak na przykład niektóre pakiety matematyczne / obliczeniowe.
  • Kiedy P pozwala na znacznie bardziej efektywne (czasowo / zasobowo) wykonanie eksperymentów.
  • Kiedy P jest pakietem oprogramowania i tak potrzebnym do wyodrębnienia / przetwarzania danych z instrumentu o dużej przepustowości.

Zauważ, że zakładam, że P może faktycznie być kupowane przez kogokolwiek. Jeśli P nie jest dostępny na rynku, ale jest raczej wewnętrznym rozwiązaniem o zamkniętym kodzie źródłowym, preferowany jest pakiet open source.

+1. Powielenie wyniku może wymagać napisania oprogramowania od zera, w przeciwnym razie musielibyśmy obawiać się, że nasze badania staną się nieważne, ponieważ część użytego kodu nie kompiluje się już na nowoczesnych systemach. Ponadto przez większość czasu oprogramowanie wykorzystywane do odkrywania wyników naukowych nie jest w rzeczywistości potrzebne do ich odtworzenia (np. Dzieje się tak cały czas w matematyce).
Pytanie nie mówi nic o pieniądzach. Chodzi o otwarte i zamknięte źródła, a nie bezpłatne i niewolne.
Z pewnością ma to też wiele wspólnego z pieniędzmi. Czasami nie stać nas na zakup licencji. Czy byłoby dopuszczalne ukraść jedną?
„A może istnieją akceleratory cząstek typu open source?” CERN CERN naciska na otwarty sprzęt od co najmniej 2011 roku ... Pamiętaj: open-source * nie * oznacza „darmowy”. Jedyną różnicą jest możliwość sprawdzenia, jak „rzecz” (oprogramowanie / sprzęt) została zaprojektowana i zbudowana, a nie ile za to zapłacisz. W ten sam sposób nic nie stoi na przeszkodzie, aby napisać aplikację o zamkniętym kodzie źródłowym i udostępnić ją za darmo.
@DimaPasechnik: Parafrazując byłego przełożonego: „potrzeba zapłaty za licencję nie jest * naukowym * argumentem” - płacisz tutaj za narzędzie. Jeśli nie możesz sobie pozwolić na zakup śrubokręta, czy byłoby dopuszczalne, aby go ukraść?
@cbeleites - czy kradzież jedzenia jest akceptowalna, jeśli umierasz z głodu?
@DimaPasechnik Moralność jest względna; badania naukowe zakładają, że kilka pierwszych poziomów Hierarchii Maslowa jest spełnionych.
@DavidKetcheson Nie rozumiem twojego argumentu. Nie znam żadnych pakietów oprogramowania o zamkniętym kodzie źródłowym, ale darmowych, jak w piwie, do obliczeń naukowych o jakiejkolwiek powszechnej przyczepności. Może możesz podać konkretne przykłady? W przeciwnym razie rozróżnienie, które stawiasz, jest całkowicie bezcelowe.
@NReilingh, cóż, tutaj jest bardziej konkretny przykład: czy dopuszczalne jest łamanie niesprawiedliwej zasady prowadzenia badań naukowych? Przykłady: https://en.wikipedia.org/wiki/Victor_Ginzburg opowiada, jak zażądał ogrodzenia, aby uniknąć strażników uniemożliwiających nieuprawniony dostęp do budynku Moskiewskiego Uniwersytetu Państwowego, gdzie I. Gelfand prowadził swoje seminaria. wikipedia.org/wiki/Aaron_Swartz - czy rzeczywiście był bohaterem?
Akceleratory i detektory cząstek w CERN są w pełni opisane w opublikowanych dokumentach (a pliki CAD są prawdopodobnie dostępne online) w takim zakresie, w jakim można by - biorąc pod uwagę budżet - przebudować podobną maszynę, tak blisko modelu oprogramowania open source. Oprogramowanie prawnie zastrzeżone nie publikuje projektu wewnętrznego ani nie zezwala na jego kopiowanie.
+1. Dodałbym tylko wypunktowanie (lub przeformułowanie pierwszego): ** gdy oczekuje się, że niezależna implementacja metody M w innym oprogramowaniu da identyczne wyniki **. Korzystanie z P może nie wynikać tylko z tego, że P jest jedynym oprogramowaniem zdolnym do wykonania tej pracy, może być tak, że jest to * jedyne znane autorom * lub jest to najlepiej dostępne i obsługiwane w * ich instytucji * i przeprojektowanie analizy w inna byłaby * stratą czasu *, gdy nie ma oczekiwań, że wyniki powinny się zmienić.
Widzę to cały czas w przypadku Mathematica i Matlab, które mają * mnóstwo * darmowych alternatyw, ale czasami są one trudniejsze do zainstalowania, mniej udokumentowane lub po prostu mniej znane na początku.
-1 z dwóch powodów: 1. Odtwarzalność jest zagrożona przez konieczność płacenia za cokolwiek; a jeśli to dużo pieniędzy, to poważnie szkodzi powtarzalności. 2. Nie chodzi tylko o płacenie, chodzi o zobowiązanie się licencją dostawcy oprogramowania i promowanie korzystania z takiego oprogramowania.
David Ketcheson
2016-12-01 11:42:22 UTC
view on stackexchange narkive permalink

To pytanie stało się ważne, ponieważ rośnie nacisk na większą powtarzalność badań obliczeniowych. Korzystanie z oprogramowania o zamkniętym kodzie źródłowym jest dopuszczalną częścią badań w większości dziedzin, niemniej jednak następujący punkt widzenia wyrażany przez Johna Claerbouta staje się coraz bardziej rozpowszechniony:

Artykuł o wynikiem obliczeniowym jest reklama, a nie stypendium. Rzeczywiste stypendium to pełne środowisko oprogramowania, kod i dane, które dały wynik.

Z tego punktu widzenia, jeśli polegasz na kodzie z zamkniętym kodem źródłowym, nie możesz całkowicie opublikować Twoje badania.

Problemy z oprogramowaniem zamkniętym w nauce

Istnieje wiele problemów:

  • Jak wspomniałeś, jeśli ktoś inny spróbuje odtworzyć Twoje wynik i otrzyma inną odpowiedź , usunięcie rozbieżności może być niemożliwe.
  • Implementacja oprogramowania może zawierać błędy . Rzeczywiście, każde oprogramowanie ma błędy i każde używane oprogramowanie open source będzie na nie podatne. Jednak w przypadku oprogramowania o zamkniętym kodzie źródłowym nie masz prawa do samodzielnego sprawdzania kodu w celu znalezienia błędów ani nie możesz ich naprawiać samodzielnie, jeśli je odkryjesz.

Obie te kwestie są kwestiami zasadniczymi; w praktyce rozwiązywanie rozbieżności i znajdowanie / naprawianie odpowiednich błędów jest również poważnym wyzwaniem w przypadku oprogramowania open source (ale przynajmniej jest to coś, co można sobie wyobrazić).

Sugestie dotyczące złagodzenia wpływ zamkniętego kodu źródłowego na odtwarzalność

  1. Opublikuj cały swój własny kod . Prawdopodobnie masz jakieś skrypty, które wywołują zastrzeżone oprogramowanie lub przynajmniej kilka plików wejściowych, które konfigurują problem do rozwiązania. Zwykle te skrypty zawierają większość nowości w twoich badaniach, więc to, co w nich jest, jest często ważniejsze dla innych badaczy niż to, co znajduje się w zastrzeżonym źródle.

  2. Skorzystaj z wielu niezależnych metod, aby potwierdzić swoje ustalenia . Zmniejsza to prawdopodobieństwo, że błąd wpłynie na Twoje wyniki. W moich własnych badaniach ta dodatkowa praca czasami opłaciła się, odkrywając błędy (które prowadziły do ​​błędnych wyników) w zastrzeżonym oprogramowaniu.

  3. Zrozum algorytmy zakodowane w oprogramowanie i ich słabości . Nawet jeśli nie widzisz źródła, zwykle możesz dowiedzieć się, jakie metody obliczeniowe zawierają. Kiedy już znasz okoliczności, w których te metody są (lub nie są) niezawodne, możesz sprawdzić, czy prawdopodobnie dadzą wiarygodne wyniki dla twojego problemu (np. Sprawdzając numer warunku macierzy, którą wprowadzasz do jakiegoś oprogramowania do algebry liniowej ).

  4. Pamiętaj, że niektóre programy komercyjne są po prostu ładnym interfejsem do kodu open source . Na przykład, funkcja MATLAB-a eigs do obliczania wartości własnych rzadkich macierzy jest tylko cienkim opakowaniem wokół pakietu open source ARPACK. Jeśli tego używasz, w rzeczywistości nie polegasz na zbyt dużej ilości (jeśli w ogóle) zamkniętego kodu źródłowego.

Oczywiście powinieneś również postępować zgodnie z najlepszymi praktykami opisanymi w literaturze (np. w tym artykule lub w wielu odnośnikach powiązanych tutaj) na temat powtarzalnych nauk obliczeniowych.

Można zauważyć, że w praktyce zasadniczo niemożliwe jest również zapewnienie * pełnego * środowiska pozwalającego na replikację wyników obliczeń. Korzystanie z oprogramowania open source skompilowanego za pomocą narzędzi open source i uruchamianie go w systemie operacyjnym typu open source to oczywiście bardzo dobry początek, ale zwykle nie można iść głębiej. Czy są na przykład procesory typu open source / open-hardware? Co się stanie, jeśli komuś nie uda się odtworzyć wyniku, ponieważ jego procesor w pewnym momencie wykona inne przybliżenie? (Nie, nigdy nie słyszałem o takim przypadku, ale nie jest to niewyobrażalne ...) „Łagodzenie wpływu” jest naprawdę kluczem.
@T.Verron Są też prace nad tym problemem (odtwarzalność bitowa). Ale w przypadku większości zastosowań nie jest to opłacalne.
„Rzeczywiste stypendium to pełne środowisko oprogramowania, kod i dane, które dały wynik”. Ale tak nie jest. Stypendium dotyczy tylko * kodu i danych * - algorytmu oraz danych wejściowych i wyjściowych z tego algorytmu. Środowisko oprogramowania jest czysto mechanicznym sposobem wykonywania tego algorytmu. Niezależnie od tego, czy używasz silnika Mathematica, Matlab, Octave czy Babbage, liczy się tylko wykonanie algorytmu. Mogą istnieć praktyczne problemy związane z łatwością przeglądania i odtwarzalnością, ale to nie wpływa na to, co liczy się jako stypendium.
@T.Verron Słynne niektóre chipy Intel Pentium [miały błąd] (https://en.wikipedia.org/wiki/Pentium_FDIV_bug) i czasami dawały złe wyniki w latach 90. - raz na jakiś czas dokonywały niepoprawnego dzielenia zmiennoprzecinkowego . Problem został faktycznie odkryty przez profesora pracującego na liczbach pierwszych.
Zauważ, że kolejną ważną rzeczą do opublikowania, o której ludzie często zapominają, jest ** ziarno twojego generatora liczb pseudolosowych **. Co więcej, skrypt uruchamiający eksperymenty powinien zawsze resetować go do 0.
@T.Verron: Tak, istnieje sprzęt typu open source, ale nie jest to zbyt praktyczne. (np. [otwarte implementacje architektury RISC-V] (http://makezine.com/2016/11/30/open-v-worlds-first-risc-v-based-open-source-microcontroller/).) Zwykle ufamy tylko implementacjom x86 (lub innym sprzętowym). Architektura x86 jest bardzo dobrze udokumentowana przez firmę Intel, a podręczniki dotyczące architektury są dostępne jako bezpłatne pliki PDF (patrz [wiki znacznika SO x86] (http://stackoverflow.com/tags/x86/info)).
Jesteśmy zdani na błędy projektowe sprzętu i błędy bitowe wynikające z niewystarczającego chłodzenia (np. Przetaktowany procesor), ale uruchomienie tego samego kodu na różnych projektach sprzętu może pomóc w weryfikacji. (np. AMD kontra Intel, a zwłaszcza inny ISA, taki jak PowerPC lub ARM). Matematyka zmiennoprzecinkowa IEEE jest dokładnie określona dla + - * / i sqrt, więc ostrożna implementacja biblioteki powinna być w stanie uzyskać identyczne bitowo wyniki, nawet dla innych funkcji, takich jak pow, log i sin na różnych architekturach. (Ale [determinizm FP jest trudny] (https://randomascii.wordpress.com/2013/07/16/floating-point-determinism/))
@DavidKetcheson i T.Verron: Właśnie opublikowałem odpowiedź na pytanie [Czy jakikolwiek kod intensywnie wykorzystujący zmiennoprzecinkowe daje dokładne wyniki bitowe w dowolnej architekturze opartej na x86?] (Http://stackoverflow.com/questions/27149894/does-any- zmiennoprzecinkowy-intensywny-kod-produkuje-bit-dokładne-wyniki-w-dowolnej-bazie-x86), który zacząłem jakiś czas temu, ale nie skończyłem, dopóki ta dyskusja mi o tym nie przypomniała. TL: DR: Z odpowiednimi narzędziami, na nowoczesnym sprzęcie komputerowym możliwa jest powtarzalna bitowo matematyka FP. Ale C zazwyczaj * nie * jest odpowiednim narzędziem do tego zadania, chyba że trzymasz się jednego kompilatora i jednej biblioteki matematycznej.
Dmitry Savostyanov
2016-12-01 04:09:03 UTC
view on stackexchange narkive permalink

Prawo dotyczy tego, co robisz; etyka dotyczy bardziej tego, co jest lepszym wyborem i dlaczego jest lepsze. Odpowiedź na Twoje pytanie zależy od tego, dlaczego korzystasz z zastrzeżonego oprogramowania.

  • Jeśli jest to jedyny sposób na osiągnięcie wyniku, to oczywiście możesz i powinieneś użyć to. Nie ma znaczenia, czy kod jest zastrzeżony - jeśli jest to jedyny sposób rozwiązania problemu, to każdy może go używać lub chcieć go używać. Jednak nie jestem pewien, czy takie oprogramowanie istnieje, więc może to jest modelowy przykład.
  • Jeśli możesz wybrać między oprogramowaniem prawnie zastrzeżonym W a wolnym oprogramowaniem L o otwartym kodzie źródłowym, wybór należy do Ciebie. robić. Jeśli twoje metody są dobrze udokumentowane, twoi rówieśnicy mogą albo odtworzyć je w W (jeśli je mają), albo odtworzyć algorytm w oprogramowaniu L (zdarza się to często). Istnieją pewne korzyści z używania W, a niektóre z L. Dla naukowców jako dużej społeczności byłoby lepiej, gdyby wszyscy korzystali z tego samego oprogramowania open source i uczestniczyli w jego rozwoju. Jednak Twoje osobiste cele mogą być inne i stawianie ich na pierwszym miejscu nie jest nieetyczne. Możesz wybrać W, ponieważ jest to lepiej napisane oprogramowanie, działa szybciej, wygląda lepiej i jesteś z nim bardziej produktywny. To jest w porządku.
  • Jeśli jednak wybrałeś W, ponieważ otrzymujesz wynagrodzenie od firmy M, która go produkuje, i nie mówisz tego, ale zamiast tego reklamujesz W w swoich gazetach i zachęcasz wszystkich do zakupu , to tak - to jest nieetyczne.
  • Jeśli wybierzesz W, ponieważ wiesz, że Twoi konkurenci, którzy prawdopodobnie przejrzą Twoją pracę, pochodzą z kraju trzeciego świata, który nie ma dostępu do W, a Ty nie nie jest szczególnie podobny do W, ale użyj go do ukrycia jakiegoś brudnego statystycznego voodoo w kodzie, którego nikt nie może odtworzyć - tak, to jest nieetyczne.
Przykładem przypadku nr 1 jest to, że w fizyce używamy Mathematica do wykonywania wielu obliczeń, ponieważ jest to zdecydowanie najbardziej wydajny dostępny system algebry komputerowej. Niektóre z tych obliczeń nie mogą być wykonane przez żadne inne (publicznie dostępne) oprogramowanie. Chociaż nie jest to doskonały przykład, ponieważ w zasadzie można odtworzyć wyniki ręcznie, ale może to wymagać lat pracy, aby coś, co Mathematica mógł wykonać w ciągu kilku minut.
@DavidZ: Ale Mathematica jest pełna bezsensownych błędów spowodowanych przez niekompetentnych programistów, którzy praktycznie nic nie wiedzą o matematyce stojącej za tym, co próbują wdrożyć. A naukowcy faktycznie na tym polegają?
@user21820 Jasne, ale nawet najlepsza literatura naukowa zawiera błędy, a ręczne wykonywanie obliczeń jest podatne na błędy, więc jest na równi z tym niebezpieczeństwem.
Dmitry Grigoryev
2016-12-01 17:54:21 UTC
view on stackexchange narkive permalink

Pamiętaj, że „Zastrzeżone” i „Zamknięte źródło” to nie to samo. Na przykład MATLAB (zastrzeżone komercyjne oprogramowanie) w rzeczywistości dostarcza czytelny kod dla większości funkcji, które implementuje. Nie możesz ponownie użyć tego kodu (stąd „Źródło zamknięte”), ale możesz go sprawdzić, jeśli masz rozbieżności w obliczeniach, które należy wyjaśnić.

Nawet jeśli kod źródłowy nie jest dostępny, jest zwykle udokumentowane, który algorytm jest implementowany przez daną funkcję zamkniętego źródła. Więc jeśli ktoś nie może odtworzyć twoich wyników za pomocą oprogramowania o zamkniętym kodzie źródłowym, może znaleźć implementacje algorytmu, który podejrzewa, że ​​jest niepoprawne w używanym oprogramowaniu, i porównać wyniki za pomocą tych implementacji. Jasne, jest to czasochłonne, ale nie spodziewaj się, że korzystanie z oprogramowania open source w jakiś sposób sprawi, że Twoje wyniki będą w 100% odtwarzalne bez żadnego wysiłku. Twoi koledzy nadal będą musieli uruchamiać dokładnie taką wersję oprogramowania na danym środowisku komputerowym, aby mieć pewność, że uzyskają dokładnie takie same wyniki, a te wersje i środowiska będą prawdopodobnie niedostępne za 10–20 lat. Następnie ten sam czasochłonny proces będzie dotyczył również oprogramowania open source.

Zakładam, że nie używasz pakietów oprogramowania, które utrzymują w tajemnicy algorytmy użyte do jego implementacji. Z pewnością będziesz chciał ich unikać, nie tylko ze względu na powtarzalne wyniki, ale dlatego, że wyniki uzyskane w nieznany sposób nie mają żadnej wartości naukowej.

Niestety, o ile to się nie zmieniło, kod Matlaba dla wielu algorytmów, do których dostęp byłby najważniejszy, takich jak zestaw narzędzi statystycznych, pochodzi ze skompilowanego kodu, w którym dystrybucja nie zawiera czytelnego źródła.
Termin to ["źródło-dostępne"] (http://haacked.com/archive/2006/07/26/CodeAvailableVsOpenSourceVsFreeSoftware.aspx/)
Dmitrij, w wielu dziedzinach nie można łatwo zastąpić oprogramowania płatnego / restrykcyjnego / zamkniętego oprogramowania FOSS. Jest to szczególnie prawdziwe, gdy mówimy o większych, bardziej złożonych systemach oprogramowania, a nie o małych fragmentach oprogramowania wdrażających pojedynczy algorytm. Opracowywanie większych systemów oprogramowania, ich debugowanie i przenoszenie wymaga ogromnego wysiłku; i jest fakt, że przestrzenie projektowe są tak rozległe, że jest mało prawdopodobne, aby jakiekolwiek dwa systemy, które nie zostały niedawno rozwidlone z tego samego rodzica, były na tyle podobne, aby można je było stosować zamiennie.
Ponadto twoje założenie na końcu jest generalnie nieprawdziwe w przypadku większych systemów, ponieważ nawet jeśli publikują główne koncepcje / aspekty, jest po prostu zbyt wiele specyficznego hakera do udokumentowania.
J...
2016-12-01 18:37:20 UTC
view on stackexchange narkive permalink

Dodam tutaj jedną dodatkową perspektywę - jeśli uda Ci się uzyskać oszałamiający wynik w oparciu o analizę wykonaną w pakiecie o zamkniętym kodzie źródłowym, dla którego albo nie ma dostępnej implementacji typu open source, albo dla którego ta sama jest słabo rozwinięta, natychmiast dajesz silną zachętę programistom w społeczności naukowej bez dostępu do tego pakietu, ale z chęcią odtworzenia wyników, wyjścia i rozpoczęcia pracy nad ulepszeniem otwarte alternatywy dla wspomnianego oprogramowania komercyjnego.

To podwójna korzyść. W pierwszym przypadku pomagasz w zachęcaniu do opracowywania nowych narzędzi typu open source, a po drugie, równoległy rozwój takich narzędzi pomaga zapewnić wzajemne kontrole dla obu. Powiedziałbym, że używaj tego, co działa, co jest najbardziej odpowiednie i co pomoże ci wykonać pracę najlepiej w ramach twojego budżetu. Jeśli nie jesteś w stanie wnieść do społeczności lepszych narzędzi open source, pozwól innym wziąć tę pochodnię. Tworzenie użytecznych, unikalnych i interesujących wyników naukowych jest właśnie tym, co stymuluje ten rodzaj rozwoju w pierwszej kolejności.

W pewnym sensie korzystanie z pakietu o zamkniętym kodzie źródłowym może być katalizatorem rozwoju oprogramowania typu open source - więc nadal pomagasz w sposób pośredni. Jeśli jednak istnieją alternatywy open source dla pakietu zamkniętego kodu źródłowego, z którego korzystałeś, reprodukcja twoich wyników za pomocą własnych implementacji za pomocą bezpłatnych narzędzi powinna być trywialna, a zatem nie ma żadnego problemu etycznego. Jeśli już, daje możliwość przetestowania tego samego wyniku za pomocą dwóch różnych narzędzi, a w nauce jest to zawsze lepsze niż odtworzenie wyniku za pomocą tego samego narzędzia. Możesz jednocześnie sprawdzić narzędzia (ze sobą) i naukę. Bonus.

Chociaż nie mogłem się zmusić do głosowania przeciw, naprawdę nie sądzę, aby „używać oprogramowania o zamkniętym kodzie źródłowym do zachęcania do oprogramowania open source!” naprawdę ma to w ogóle sens. To tak, jakby powiedzieć, że podejmij podpalenie, aby zachęcić do używania czujników dymu.
@WetlabWalter W pokoju zawsze jest SJW, co? Nie wiedziałem, że kupowanie oprogramowania jest albo przestępcze *, albo * destrukcyjne. Naprawdę, jeśli nie ma alternatywy open source, to nie ma takiej. Kiedy masz zadanie do wykonania i jest dostępne narzędzie, możesz go użyć. Proste. Nie mogę uwierzyć, że wydałbyś milion dolarów na eksperyment, a potem krzyknąłbyś, płacąc kilka dolarów za oprogramowanie do analizy danych. Chodzi o to, że OSS pojawia się, gdy trzeba z nim zrobić dobrą naukę. Kura i jajko ...
lol, SJW, to dla mnie nowość. Sprowadzałem twój argument do absurdu - dobroczynne zło jest powszechnym błędem logicznym. S'ok, wszyscy popełniamy błędy. Twój drugi punkt to strawman - pytanie nie jest oparte na zamkniętym źródle ani bez analizy. To zamknięte lub otwarte oprogramowanie. Niezależnie od tego cena oprogramowania nie jest problemem. Chodzi o to, że to czarna skrzynka.
@WetlabWalter Still, czarna skrzynka, która implementuje znany algorytm, nie jest całkowicie czarna. To wygodna automatyzacja nudy. Nie powiedziałbym, że jego użycie jest nie do obrony.
Dobra, popieramy, jeez
@WetlabWalter lol, nie walczyłem o głosowanie, ale hej - wezmę to.
@WetlabWalter: "to pytanie nie jest o zamkniętym kodzie źródłowym ani bez analizy. To jest zamknięte lub otwarte oprogramowanie". Powiedziałbym, że w scenariuszu tej odpowiedzi pytanie brzmi: analiza zamkniętego źródła lub programowanie z otwartym kodem źródłowym, a następnie analiza, ponieważ zakłada, że ​​nie ma otwartej alternatywy w momencie rozpoczęcia analizy. I chociaż oczywiście wykonanie otwartej implementacji z analizą danych jest lepsze niż zwykła analiza danych, zajmie to również więcej czasu ... W zależności od dziedziny, programowanie nowej implementacji znanego algorytmu może nie być postrzegane jako * naukowe * zalety.
Niestety, chociaż takie wyniki tworzą średnio- lub długoterminową zachętę do opracowywania oprogramowania FOSS, tworzą natychmiastową i silniejszą zachętę do kupowania / licencjonowania oprogramowania niewolnego / zamkniętego / płatnego, aby nie stracić na konkurencyjnej atmosfera wielu (większości) dziedzin.
@einpoklum Więc co byś zaproponował? Poczekaj, aż grupa dostanie programistę ... a potem poczekaj 18 miesięcy, aż razem przygotują błędną wersję alfa czegoś, co może w końcu załatwić sprawę? Badania są jak rekin - idziesz do przodu albo giniesz. Jeśli nie masz luksusu talentu lub czasu, aby wesprzeć FOSS, musisz wykonać swoją pracę za pomocą dostępnych narzędzi.
@J ...: Cóż, obserwowanie, że coś jest bardziej problematyczne / nieetyczne niż sugerują inni, nie wymaga zapewnienia całkowicie etycznej alternatywy dla tego. Może się zdarzyć, że wszystkie nasze działania w jakiejś sytuacji będą miały niepożądane (a nawet godne ubolewania) konsekwencje. W mojej własnej odpowiedzi kończę, sugerując, abyśmy ocenili zalety i wady, aby osiągnąć najlepszą możliwą równowagę (ale mam na myśli wszystkie wady).
h22
2016-12-01 15:02:48 UTC
view on stackexchange narkive permalink

Jeśli napiszesz „wyniki zostały przetworzone za pomocą oprogramowania X v X.X przy użyciu następujących ustawień, a wydruk brzmiał”, przestaje to być nauką i staje się bardziej magiczne. Algorytmy muszą być w pełni gdzieś udokumentowane i zrozumiałe, aby badania były nauką.

Jest w pełni możliwe spełnienie tego wymogu dla oprogramowania prawnie zastrzeżonego, jeśli algorytmy są odpowiednio opisane w dokumentacji użytkownika lub autorskie oprogramowanie po prostu sprawia, że ​​platforma wykonawcza jest wykonywana, a same algorytmy są na niej kodowane (Matlab, zastrzeżony kompilator C itp.). Idealnie byłoby, gdyby zastrzeżony kod był dostępny do wglądu na restrykcyjnej licencji.

Niestety, bardzo często zastrzeżone narzędzia mają tendencję do ukrywania dokładnych szczegółów algorytmu, utrzymywania ważnych części kodu w tajemnicy, a ponieważ są nielubiane przez społeczność naukowa. Nikt nie chce publikować artykułu tylko po to, aby odkryć, że późniejsze wyniki można odtworzyć tylko za pomocą pojedynczej wersji jednego zastrzeżonego narzędzia, najprawdopodobniej z powodu trywialnego błędu.

Niestety, w wielu dziedzinach - to prawie jedyny rodzaj papieru, jaki kiedykolwiek został opublikowany. Na przykład architektura DB (VLDB, SIGMOD). I to nie tylko komercyjni dostawcy, tacy jak Oracle, Microsoft, SAP i inni - nawet jeśli ludzie tylko modyfikują FOSS DBMS, najczęściej nigdzie nie publikują kodu.
Większość ważnych dla mnie publikacji uzupełnia algorytm kodem źródłowym, który dobrze się buduje z GCC pod Linuksem.
Cóż, ok, ale nie jest tak dla każdej domeny.
Dima Pasechnik
2016-12-01 16:21:33 UTC
view on stackexchange narkive permalink

Zdecyduj sam:

Na podstawie własnego doświadczenia mogę argumentować, że korzystanie z oprogramowania o zamkniętym kodzie źródłowym prowadzi do zamknięcia dużej liczby potencjalnych badaczy (lub zmuszenia ich do uzyskania nielegalnych kopii w szarej strefie) . Przez kilka lat pracowałem w obszarze, w którym Matlab jest standardowym narzędziem (nadal jest, po 20 latach :-(), a potem przyjąłem postdoc w miejscu, które nie miało licencji Matlab (nie wszystkie działy CS to mają nawet na dobrych uniwersytetach w Niemczech, ponieważ mogą nie mieć licencji obejmującej cały kampus, a podczas gdy w inżynierii z pewnością mają Matlab, jest to dość wątpliwe w CS).

Zasadniczo musiałem odkładać wszystkie bieżące Projekt związany z Matlabem (ponieważ zakup dostatecznie kompletnej licencji Matlab na pensji postdoc nie wchodził w grę ...)

(I kiedyś w zasadzie ukradłem licencję Mathematica na wydziale, który odwiedzałem, na z tego samego powodu. :-))

Innym, jeszcze trudniejszym przypadkiem jest Magma (mniej znana niż Matlab, ale wciąż prawie standardowa w dziedzinach związanych z algebraiczną teorią liczb i teorią grup i nie tylko), co sprawia, że ​​niezwykle trudno jest uzyskać licencję dla kogoś spoza ustalonego kręgu wybranych uniwersytetów, chyba że jesteś w USA (co być może musi a ich największym klientem jest NSA :-)).

EDYCJA: Powiedziano mi, że opowiadam się za podwójnym standardem (wspominając o drogich narzędziach do eksperymentów), ale tak nie jest. Oprogramowanie naukowe jest często dużo bliższe publikacjom naukowym niż narzędziom naukowym. W przypadku darmowej alternatywy dla drogiego narzędzia, rezygnacja z darmowej alternatywy jest podobna do wyboru kosztownego i ekskluzywnego wydawcy do swojej pracy, zamiast publikowania w sieci.

EDYCJA2: Również kwestie niezawodności oprogramowania badawczego o zamkniętym kodzie źródłowym są dobrze udokumentowane w literaturze; być może najbardziej znaną w tej chwili jest historia błędu w obliczeniach wyznacznika w Mathematica. Dopiero publikacja w tak głośnym źródle, jak Notices of the AMS, zajęła Wolfram Ic, aby to naprawić. W przypadku oprogramowania typu open source normalnie naprawianie takiego błędu następuje znacznie szybciej, a przynajmniej byłoby to publicznie widoczne w narzędziu do śledzenia błędów.

Nie dotyczy to bardziej oprogramowania zamkniętego niż innych kosztownych narzędzi naukowych. Nikt nie będzie twierdził, że istnieje problem etyczny związany z używaniem mikroskopu konfokalnego, sekwencera następnej generacji lub akceleratora cząstek. Dlaczego więc stosować podwójny standard do oprogramowania komputerowego?
@JackAidley: nie, w przypadku, gdy cytujesz, po prostu nie ma alternatywy. W przypadku oprogramowania często jest tak: tak jak w przypadku wydawnictwa - możesz opublikować swoją książkę u wydawcy komercyjnego, który pobrałby za nią opłatę, albo możesz ją wrzucić za darmo online (lub zrobić jedno i drugie). Wybór nalezy do ciebie.
Chociaż wielu może się spierać o to, czy korzystanie z zamkniętego źródła jest „etyczne” (ja nie), naruszanie umów licencyjnych i używanie skradzionego oprogramowania jest często nielegalne i wykracza poza moje etyczne granice.
@JackAidley - nie mógłbym się bardziej zgodzić.
Zwróć również uwagę, że istnieją całkowicie realne opcje open source dla prawie każdego wspomnianego pakietu. Octave jest prawie kompatybilny językowo z Matlabem.
@DimaPasechnik: Nic "nie ukradłeś". Użyłeś kopii Matlaba i ominąłeś podstępny mechanizm ograniczający twoją zdolność do tego. Poza tym - czy nie mógłbyś po prostu użyć Octave? A raczej - spróbuj wyjaśnić, dlaczego nie możesz skorzystać z bezpłatnych alternatyw.
@ScottSeidman 15 lat temu Octave nie zrobił tak dużo, jak może teraz; W IIRC nie było mechanizmu łączenia zewnętrznych bibliotek C, coś bardzo istotnego, a może zbytnio różniło się od plików mex Matlaba, aby miało dla mnie wartość. Nie było żadnych istotnych dla tego tematu odpowiedników Octave dostępnych narzędzi Matlab. Nikt w społeczności, o której mówię, również nie przejmował się pisaniem kodu zgodnego z Octave.
@einpoklum - z pewnością obchodzenie licencji na komercyjny pakiet oprogramowania jest kradzieżą, ponieważ pozbawia sprzedawcę dodatkowych przychodów, które uzyskałby, gdyby licencja została prawidłowo zakupiona.
@ScottSeidman Mogę łatwo nazwać rzeczy niedostępne (lub dostępne, ale całkowicie nieodpowiednie) w każdym pakiecie open source, ale dostępne w Mathematica lub Magma. Na przykład. narzędzia do rozwiązywania wielowymiarowych nierówności wielomianowych.
@DimaPasechnik: Arrgh, stary! Przekaż swoje wyimaginowane zyski, miłośniku ziemi! Wracajcie na statek piracki, ludzie!
einpoklum
2016-12-04 04:29:31 UTC
view on stackexchange narkive permalink

Tak, to jest nieetyczne * .

Istnieją cztery aspekty oprogramowania, o których wspomniałeś, które powodują problemy etyczne: bycie zamkniętym źródłem , bycie prawnie zastrzeżonymi i dwoma aspektami, o których nie wspomniałeś, ale które są charakterystyczne dla zastrzeżonego oprogramowania o zamkniętym kodzie źródłowym - wymagające (niezbywalnej) płatności i wymagające zgody na restrykcyjna licencja w celu użycia.

Problemy z oprogramowaniem o zamkniętym źródle :

  • Jego użycie utrudnia odtwarzalność (patrz Odpowiedź @ DaveKetchesona).
  • Jego użycie utrudnia rozwiązanie sprzecznych wyników badań / twierdzeń).
  • Korzystanie z oprogramowania o zamkniętym kodzie źródłowym utrudnia tworzenie oprogramowania - konkretny rodzaj aplikacji, z której korzystasz i ogólnie. IMHO.
  • To stawia dostawców oprogramowania na pozycji władzy nad nami, a tym samym bezpośrednio nad naszymi badaniami i społecznością zainteresowaną naszymi badaniami. Słynne przykłady obejmują szpiegostwo rządowe, sabotaż między stanami i powiązania sprzętowe.

Problemy z prawnie zastrzeżonym oprogramowaniem (i jego typowymi licencjami):

  • Tworzy sztuczne ograniczenia naszych wolności jako badaczy i użytkowników:
    • Aby uruchamiać oprogramowanie w dowolny sposób i wszędzie tam, gdzie jest to korzystne dla naszych badań;
    • Aby zastosować wnioski wyciągnięte ze studiowania programu w naszej własnej pracy badawczej i ewentualnie zmodyfikować go, aby lepiej pasował do naszych badań (może to być technicznie możliwe w przypadku dostępu do źródła, ale prawnie zabronione);
    • Rozpowszechnianie kopii w celu powielania i dalszej pracy badaczom z naszej grupy / instytucji i innym;
    • W celu rozpowszechniania kopii naszych modyfikacji i adaptacji w ramach naszych grup badawczych i innych;
  • Często wpływa na podobne relacje władzy między dostawcą a użytkownikami, nawet bez zamykania źródła. Na przykład dostawca wpływa na powiązanie sprzętu, zakazując legalnej instalacji na nieautoryzowanym sprzęcie.

Problemy z oprogramowaniem wymagającym opłaty za użytkowanie:

  • Stwarza to nadmierne obciążenie dla innych badaczy, którzy chcą (1) ocenić / przejrzeć (2) zilustrować ograniczenia / flaws lub (3) rozszerz i popraw swoje wyniki.
  • Jeśli zwiększa presję na innych badaczy, aby kupowali podobne oprogramowanie, aby nadążyć - i ma to pośredni wpływ na wszystkich badaczy w Twojej dziedzinie.
  • Jeśli zmniejszy impet i dostępność funduszy na rozwój bezpłatnego (= gratis, libre) oprogramowania do robienia tego samego.

(*) ... ale z tym wszystkim Mówi się, że te nieetyczne aspekty są sprzeczne z potencjalnymi korzyściami publicznymi w zakresie uzyskiwania i publikowania wyników badań. Podejmując decyzję, upewnij się, że sprawiedliwie stawiasz obie strony skali - i myślisz zarówno o sobie, jak i innych.

Po prostu się nie zgadzam. Większość osób sprzeciwiających się programom o zamkniętym kodzie źródłowym twierdzi, że „nie jest to najlepszy wybór” lub „staraj się unikać”, ale nie „o wątpliwej etyce”. Chociaż z pewnością istnieją uzasadnione powody, aby korzystać z oprogramowania open source i wolnego oprogramowania, żaden z argumentów, które oferujesz, nie wzbudza niepokoju etycznego.
@ScottSeidman: Po pierwsze, z pewnością masz prawo do swojej opinii. Jednakże wysuwasz jedno ukryte twierdzenie i jedno wyraźne twierdzenie, z którym się nie zgadzam: 1. Argument jest zdyskredytowany, jeśli większość ludzi używa innego / słabszego argumentu; 2. Twierdzenie „największej liczby zastrzeżeń”. W tym ostatnim przypadku proszę podać link do niektórych danych statystycznych. Z mojego doświadczenia wynika, że ​​to głównie typy korporacyjne powodują, że ten argument jest słabszy. Co do pierwszego - moje argumenty lub roszczenia są same w sobie, czy to błędne, czy słuszne.
@ScottSeidman: Jednak do rzeczy, jeśli nie wierzysz, że wywołanie wymienionych przeze mnie efektów jest problematyczne, to z szacunkiem uważam, że twój pogląd jest nieetyczny, a właściwie niemoralny. A to jest wzmocnione twoją odpowiedzią i komentarzem do innej odpowiedzi, w którym twierdzisz, że kopiowane oprogramowanie jest „skradzione”, że kopiowanie jest „piractwem” i nie powinno się do tego zachęcać.
Czy naprawdę chcesz zapewnić, że kopiowanie oprogramowania nie jest kradzieżą własności intelektualnej? https://www.fbi.gov/investigate/white-collar-crime/piracy-ip-theft Z pewnością są kraje, w których pojęcie własności intelektualnej jest znacznie luźniejsze, ale o ile wiem, twoje nie jest jednym z im. Jeśli chodzi o tworzenie kopii zapasowych pozycji, położę to z powrotem na tobie. Wymień renomowane czasopismo, które nie będzie publikować pracy wykorzystującej oprogramowanie bliskiego źródła, ponieważ zawód uważa to za wątpliwe etycznie.
Przez „większość przeciwników” rozumiałem odpowiedzi na to pytanie. Obrona statystyczna polega po prostu na zliczaniu odpowiedzi, które mówią, że używanie oprogramowania o zamkniętym kodzie źródłowym jest kwestią etyczną.
Ach, ok, cóż - udzieliłem odpowiedzi w zasadzie z tego samego powodu - że inne odpowiedzi na to pytanie nie odzwierciedlają moich poglądów ani opinii bardzo wielu ludzi (niezależnie od tego, czy są oni większością).
@ScottSeidman: Ponadto sposób definiowania rzeczy w prawie amerykańskim nie stanowi podstawy do moich definicji. Wiele stanów na świecie (choć nie jestem pewien co do USA) definiowało homoseksualizm jako formę gwałtu, obrzydliwość, perwersję itp.
Mr. Lynch
2016-12-02 22:05:27 UTC
view on stackexchange narkive permalink

Myślę, że musimy przejść do sedna pytania; odpowiedź na pytania etyczne zaczyna się od moralności (nauka o dobru i złu). W szczególności powinniśmy zadać sobie pytanie ... * czy popełniamy jakiekolwiek oszustwo wobec osoby zaangażowanej? (np. czy ujawniliśmy wszystko, co jest związane z badaniem, w tym wszystkie potencjalne konflikty interesów?) Postaw się w sytuacji innych: co chciałbym, aby ktoś inny zrobił w obliczu mojej sytuacji i miałbym udział w badaniu? * czy przywłaszczamy sobie coś, co nie należy do nas?

Jeśli nie możemy zidentyfikować konkretnego moralnego zastrzeżenia, przechodzimy do etyki specyficznej dla danej dziedziny, a mianowicie: * czy istnieje kodeks etyczny specyficzny dla danej dziedziny, do którego się zobowiązałeś i który mógłby naruszyć? (Np. Przysięga Hipokratesa, w medycynie, przywilej prawnika-klienta itp.) Czy podpisałeś umowę z pracodawcą?

Na koniec powinniśmy przejść do analiz „bezwartościowych”: koszty / korzyści, względne praktyczność i dostępność alternatyw, racjonalnie oczekiwane wyniki.

Pamiętaj, że umieszczenie tej ostatniej kategorii na najwyższej pozycji oznacza całkowite zignorowanie etyki i ryzyko uzasadnienia wątpliwych środków dobrymi celami - zawsze jest to niebezpieczeństwo podpis.

Mam nadzieję, że to pomoże!

12/08/16 EDYCJA: Powinienem dodać, że zgodnie z powyższymi kryteriami oraz informacjami i opiniami, które widziałem do tej pory (w tym ten wątek), odpowiedź brzmi: nie, nie jest to nieetyczne samo w sobie (tj. samo w sobie).

Istnieją okoliczności, w których może to stać się nieetyczne, ale jest inaczej. Na przykład, jeśli wybrałeś oprogramowanie o zamkniętym kodzie źródłowym, ponieważ wybór ten miał na celu osobistą korzyść finansową, byłoby to oczywiście nieetyczne. Albo gdybyś wiedział, że możesz wykorzystać funkcję lub błąd w tym oprogramowaniu, aby zaszkodzić naukowej konkurencji lub uzyskać korzystniejszy wynik. Innymi słowy, motywy się liczą.

Jako przykład, ktoś powyżej wspomniał o motywacji „marketingowej”. To wyraźnie zmniejszyłoby akceptację / zaufanie ludzi do twoich wyników, gdyby zostały ujawnione.

Podobnie jak w polityce, słońce jest najlepszym środkiem dezynfekującym. Oznacza to, że ujawnij wszystko, czego możesz racjonalnie oczekiwać, że wpłynie na akceptację twoich wyników przez nieufnych audytorów.

Zgadzam się z przesłanką twojej odpowiedzi, ale zadajesz tylko jedno moralne pytanie, podczas gdy w rzeczywistości jest wiele pytań.
@einpoklum: przepraszam za moje formatowanie - gwiazdki miały oznaczać oddzielne pytania. Chciałem zasugerować _ podejście_ do pierwotnego pytania, aby osoba pytająca mogła mieć pewne zaufanie do odpowiedzi. FWIW, jestem prawie pewien, że nie jest z natury nieetyczne używanie zastrzeżonego S / W do badań naukowych.
Scott Seidman
2016-12-06 03:29:03 UTC
view on stackexchange narkive permalink

„Za darmo” nie zawsze oznacza „za darmo”, biorąc pod uwagę czas i wysiłek. Badania mogą być kosztowne. Jeśli ktoś może kupić pakiet, a ten pakiet ma dobre wsparcie i doskonałą dokumentację, która może zaoszczędzić mi czas w projekcie badawczym, trudno byłoby uwierzyć, że korzystanie z otwartego oprogramowania byłoby tańsze, gdyby zajęłoby to więcej czasu. Właściwie, posunąłbym się nawet do stwierdzenia, że ​​jeśli nie wydam 2 tysięcy dolarów na przyspieszenie mojej pracy, a moja agencja finansująca zapłaci taką samą kwotę za mniejszą wydajność, jest to bardziej wątpliwe etycznie niż korzystanie z pakietu zastrzeżonego. (Zakładając oczywiście, że open source jest mniej wygodne, a zamknięte źródło jest dostępne dla wszystkich, którzy mogą zapłacić - i tak, wiem, że to nie jedyne sytuacje, więc proszę nie przejmuj się wskazanie wyjątków, w których to nieprawda).

Uruchamiam Matlaba i Octave. Są podobne, ale mam bardziej bezproblemowe doświadczenie w korzystaniu z Matlab, więc to właśnie zwykle klikam dwukrotnie.

... i tak, używam DUŻO oprogramowania open source, gdzie moje życie jest łatwiejsze. Polecam również studentom TYLKO open source (... oprócz Matlaba, który ma hojną licencję studencką), ponieważ za każdym razem, gdy wspominam studentowi o drogim pakiecie, pojawiają się z piracką wersją następnego dnia, a ja nie chcą przyczynić się do kradzieży własności intelektualnej lub do niej zachęcać.

CoderMD666
2016-12-01 10:19:05 UTC
view on stackexchange narkive permalink

Nie sądzę, żeby to był problem. Na przykład wielu biologów naukowych używa programu Photoshop do przetwarzania swoich obrazów. Przypuszczam, że wiele osób preferuje oprogramowanie typu open source, ponieważ jest bardziej zgodne z zasadami otwartych badań, ale upewnienie się, że metodologia jest solidna i odtwarzalna, jest o wiele ważniejsze w prawie wszystkich sytuacjach.

Jednak używanie oprogramowania z zamkniętą / restrykcyjną licencją uniemożliwia większości ludzi sprawdzenie, czy Twoja metodologia jest poprawna, i odtworzenie wyników. W przypadku Photoshopa nie jest nawet tak źle, ponieważ jest dość powszechny - ale pomyśl o oprogramowaniu, które wymaga specjalnego sprzętu i dziesiątek tysięcy dolarów.
user3131341
2016-12-04 05:01:58 UTC
view on stackexchange narkive permalink

To nie powinno mieć znaczenia. Większość kalkulatorów naukowych, ale nie wszystkie, oblicza sinusy w ten sam sposób. Czy wiesz, jak Twój kalkulator oblicza sinusy?

Niektóre darmowe programy są po prostu gorsze. Konkretnym przykładem jest OpenOffice. Choć jest cudowny, nie radzi sobie z niektórymi zadaniami, z którymi Microsoft Office radzi sobie dobrze, a innych nawet nie próbuje.

A jeśli użyję chromotografu gazowego Hewlett-Packard, ponieważ jest to jedyny, jaki kiedykolwiek używany i ktoś inny uzyskuje inne wyniki przy użyciu innej marki? Czy jestem odpowiedzialny?

nie należy przetwarzać danych naukowych za pomocą pakietu MS Office lub innych pakietów biurowych. Błędy programu Excel w tym zakresie są dobrze udokumentowane w literaturze.
Błędy dostawców oprogramowania zamkniętego w naprawianiu zgłoszonych błędów są dobrze udokumentowane; jeśli uzyskasz nieprawidłowe wyniki z powodu wadliwego oprogramowania o zamkniętym kodzie źródłowym, możesz zostać zwolniony lub, co gorsza, ludzie mogą umrzeć


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 3.0, w ramach której jest rozpowszechniana.
Loading...