Czy możesz twierdzić, że Twój produkt jest odpowiedni, jeśli korzysta z oprogramowania OSS, które go nie gwarantuje?

15

Pracuję nad produktem dla klienta, który musi być ważny i odpowiedni do określonego celu.

Jest zbudowany na stosie LAMP (PHP / Cake), więc istnieją licencje GPL, MIT, PHP, APACHE:

PODSTAWA W STANIE, W JAKIM JEST, BEZ JAKICHKOLWIEK GWARANCJI LUB WARUNKÓW, wyraźnych lub dorozumianych, w tym, bez ograniczeń, jakichkolwiek gwarancji lub warunków TYTUŁU, NIENARUSZENIA PRAWA, PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU . Użytkownik ponosi wyłączną odpowiedzialność za określenie stosowności użytkowania lub redystrybucji Dzieła oraz przyjmuje na siebie wszelkie ryzyko związane z korzystaniem z uprawnień wynikających z niniejszej Licencji.

Moje uzasadnienie, że mój produkt jest ważny i nadaje się do celów:

  • Podpisany dokument UAT potwierdza ważność i przydatność do określonego celu.
  • Stos jest tak szeroko stosowany przez programistów, przemysł i użytkowników końcowych (statystyki netcraft, gartner itp.), Że istnieje zgoda, że ​​JEST on odpowiedni do określonego celu. (tzn. możemy w pewnym stopniu pominąć stwierdzenie przydatności do celów w oświadczeniu o wyłączeniu gwarancji)

Czy to ważny punkt? Czy mogę twierdzić, że moje oprogramowanie jest odpowiednie do określonego celu?

użytkownik127379
źródło
3
„consensus”! = „gwarancja”.
Joachim Sauer
ale czy gwarancja = nadaje się do celu? Rozumiem, że gwarancja jest taka, że ​​jeśli nie zrobi tego, co jest do zrobienia, to należy ją naprawić / wymienić lub zwrócić pieniądze.
user127379,
Gwarancja może dotyczyć dowolnej liczby rzeczy. Mogę zagwarantować, że dany program nie ulegnie awarii przez co najmniej 3 sekundy, co nie będzie pasować do żadnego konkretnego celu (chyba że Twoim celem jest uruchomienie dowolnego programu przez co najmniej 3 sekundy).
Joachim Sauer
7
Możesz powiedzieć, że Twój produkt jest odpowiedni do określonego celu, jeśli chcesz na to zagwarantować. Możesz nawet powiedzieć, że uważasz, że utwór, na który masz licencję, jest odpowiedni do określonego celu, ale na podstawie licencji masz taką opinię, a nie licencjodawcy.
Blrfl,
1
Inżynieria oprogramowania nie jest najlepszym wyborem dla porad prawnych. Skonsultuj się z prawnikiem.
zzzzBov,

Odpowiedzi:

25

Po pierwsze, jak powiedzieli inni, istnieje różnica między oprogramowaniem faktycznie działającym a oprogramowaniem sprzedawanym z prawną gwarancją , że działa.

Cytowany tekst zrzeczenia się oznacza, że ​​oryginalny licencjodawca, od którego otrzymałeś oprogramowanie, nie udziela żadnej gwarancji. Można oferować oprogramowanie siebie z gwarancją załączeniu. Oryginalni autorzy nie dają prawnej gwarancji działania oprogramowania, ale nie ma powodu, dla którego nie można udzielić takiej gwarancji klientowi. (Niezależnie od tego, czy uważasz, że dobrym pomysłem jest dołączenie gwarancji prawnej do czegoś, czego nie napisałeś, to zupełnie inna sprawa).

W szczególności sekcja 4 GPL stanowi:

Możesz naliczyć dowolną cenę lub żadną cenę za każdą przesyłaną kopię, a także możesz zaoferować wsparcie lub ochronę gwarancyjną za opłatą.

Nie jestem pewien, czy licencja musi dać ci możliwość wyraźnego dodania gwarancji (nie jestem prawnikiem, ale myślę, że odpowiedź jest przecząca - mam intuicję, że powinieneś być w stanie zaoferować gwarancje na praktycznie wszystko, co chcesz ). W każdym razie GPL jednoznacznie oferuje możliwość dodawania własnych gwarancji podczas przesyłania oprogramowania do klienta.

Nie jestem pewien co do BSD, ponieważ wymaga to zachowania zrzeczenia się odpowiedzialności, ale być może możesz zaoferować ochronę gwarancyjną niezależnie od zrzeczenia się licencji. W efekcie możesz powiedzieć: „Zapewniam gwarancję, że ta praca jako całość nadaje się do określonego celu (nawet jeśli niektóre dzieła, z których ta większa praca pochodzi, nie są objęte taką gwarancją)”. Zawsze oczywiście upewnij się, że warunki gwarancji nie naruszają licencji na żadne z zawartych utworów.

Jednak znowu nie jestem prawnikiem, a jeśli twój klient zażądał gwarancji celowości, prawdopodobnie szuka pewnej sprawdzonej ochrony prawnej. Powinieneś skonsultować się z prawnikiem, aby przygotować tekst takiej gwarancji.

apsillery
źródło
Możesz dodać gwarancje do dzieła, o ile nie narusza to warunków licencji i że jasne jest, że to ty dodajesz gwarancję, a nie licencjodawca.
Blrfl
@Blrfl Ma sens. Jeśli mogę zamienić kod licencjonowany na BSD w większą pracę z bardziej rygorystycznymi, ale zgodnymi licencjami (np. GPL), mogę zrobić to samo z warunkami moich gwarancji.
apsillers
2
Nawiasem mówiąc: stwierdzenia takie jak „BEZ ŻADNYCH GWARANCJI LUB WARUNKÓW, wyraźnych lub dorozumianych, w tym, bez ograniczeń, jakichkolwiek gwarancji lub warunków TYTUŁU, NIENARUSZANIA PRAW, PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU”. są nieważne w niektórych krajach, np. we Włoszech. Po prostu nie możesz rozpowszechniać czegoś bez gwarancji. Albo cała umowa zostanie uznana za nieważną, albo po prostu ponosisz odpowiedzialność prawną.
Bakuriu
@ Bakuriu: w niektórych krajach nieobowiązujące klauzule będą interpretowane „zgodnie z duchem umowy”, co może oznaczać, że gwarancje zostaną unieważnione w jak największym stopniu zgodnie z prawem . Te i wiele innych szczegółów sprawiają, że część „skonsultować się z prawnikiem” jest niezwykle ważna.
Joachim Sauer
10

Jest to standardowe zrzeczenie się odpowiedzialności, które często podaje się w przypadku oprogramowania, zwłaszcza wolnego oprogramowania.

Oznacza to po prostu, że dostawca oprogramowania nie daje żadnych gwarancji dotyczących przydatności oprogramowania. Może on bardzo dobrze się przekonać samego siebie , że oprogramowanie jest dobre dla tego, co robi, ale nie chce wejść na pole minowe prawną, która gwarantuje go.

To samo dotyczy „konsensusu”: „Społeczność” (jakkolwiek chcesz to zdefiniować) może zgodzić się, że dane oprogramowanie jest odpowiednie do określonego celu, ale nie da ci gwarancji.

Krótko mówiąc: chyba że za to zapłacisz, nigdy nie będziesz mieć nikogo, kto zagwarantuje ci jakąkolwiek kondycję. I nawet jeśli komuś zapłacisz, może tego nie zagwarantować.

Joachim Sauer
źródło
Zapłacono za oprogramowanie, które również nie nadaje się do określonego celu itp. Podejmuję ryzyko korzystania z niego, takiego jak Windows Lol.
user127379,
2
@ user127379: 1.) tak, to wyłączenie odpowiedzialności nie ogranicza się tylko do wolnego oprogramowania, dlatego napisałem „ szczególnie wolne oprogramowanie”. 2.) bądź ostrożny: „nie pasuje do X” to nie to samo, co „nie gwarantuję, że jest odpowiedni dla X”!
Joachim Sauer
2
Windows jest najwyraźniej tak nieodpowiedni, że korzysta z niego każda firma na świecie.
Alan B
7

Myślę, że inne odpowiedzi obejmują różne aspekty twojego pytania, ale nie sądzę, że odnoszą się bezpośrednio do twoich danych szczegółowych.

Tak , możesz wystawić gwarancję na oprogramowanie, które utworzyłeś, w tym na oprogramowanie z różnymi wymienionymi licencjami OSS.

Ty (i Twoja firma) będziecie Państwo wyłączną odpowiedzialnością wynikającą z tej gwarancji. I to wszystko jest gwarancją - to odpowiedzialność. Gwarantujesz, że ponosisz odpowiedzialność, jeśli produkt nie działa.

Nie pytasz o to, ale nie możesz przesuwać tej odpowiedzialności z powrotem na „up-stream” do innych komponentów oprogramowania / wydawców, o których wspomniałeś, ponieważ wyraźnie odmówili przyjęcia tego ubezpieczenia od odpowiedzialności.

To, czy wydajesz licencję wraz z oprogramowaniem, jest powiązanym, ale ortogonalnym pytaniem. Licencja określa warunki użytkowania. Gwarancja gwarantuje stopień funkcjonalności lub działania. Polecam licencjonować produkt klientowi, oprócz zapewnienia wymaganej gwarancji. Posiadanie licencji pomaga w stosowaniu udzielonej gwarancji. Pozwala również wykluczyć osoby niebędące klientami z ubiegania się o wsparcie gwarancyjne.

Co oznacza, że ​​decydujesz o kondycji, zależy wyłącznie od ciebie . To zależy od tego, jakie ryzyko Twoja organizacja jest gotowa zaakceptować. Zależy to również od szkód, na jakie możesz być narażony w przypadku awarii produktu, a Twój klient wnosi roszczenie gwarancyjne. UAT jest standardowym podejściem i może być całkiem dobry do identyfikacji kondycji. To pozytywna weryfikacja oczekiwanej funkcjonalności. Konsensus jest nieco bardziej niepewny, ponieważ nie wiadomo na pewno, w jaki sposób inni używają tych komponentów. Konsensus jest przydatny do generowania pewnego poziomu zaufania, ale nie jest tak rygorystyczny, jak zdefiniowane i konkretne testy, które potwierdzają wymaganą funkcjonalność.


źródło
1
Tak, widziałem firmę, z którą współpracowałem, właśnie to robi. Nie znam wszystkich szczegółów, więc nie czułem się dobrze, odpowiadając na pytanie, ale cieszę się, że tak.
Radian
6

Pracowałem nad projektem oprogramowania medycznego, w którym podlegaliśmy tym samym przepisom, musimy zarówno weryfikować, jak i zatwierdzać produkt.

Możemy to zrobić i spełnić wymagania FDA.

Nie brałem udziału w faktycznym sprawdzaniu poprawności narzędzi innych firm, ale o ile mogłem zrozumieć, musieliśmy określić, w jakim celu oprogramowanie innych firm będzie nam służyć. Następnie musieliśmy sami zweryfikować te produkty, co oznacza, że ​​potwierdziliśmy, że wybrane pakiety oprogramowania innych firm rzeczywiście spełniły ten cel.

O ile rozumiem, ten rodzaj walidacji nie musiał być długim procesem. Jest to tylko półstronicowy dokument opisujący wymagania i sposób, w jaki oprogramowanie to spełniało.

Ta weryfikacja dotyczyłaby obu komponentów wbudowanych w rzeczywiste oprogramowanie, ale także środowisk programistycznych, systemów kontroli źródła itp.

Uwaga: Jest to oparte na tym, jak zrozumiałem, co musieliśmy zrobić. Mogę mieć problemy z niezrozumieniem. A firma mogła być również bardziej nadmierna w procesie walidacji niż była w rzeczywistości wymagana (mam wrażenie, że tak było w pewnym stopniu).

Ale oprogramowanie zostało zatwierdzone.

Ale dlaczego potrzebujesz sprawdzonego produktu? Dostarczasz do segmentu regulowanego, np. Medycznego lub finansowego. Czy klient ma certyfikat ISO 9001 (lub podobny)? Jeśli tak, powinieneś przestudiować wymagania dotyczące tego rodzaju przepisów, aby dowiedzieć się dokładnie, co jest potrzebne.

Pete
źródło
GCP i prawdopodobnie CFR Part 11. Są to głównie wymagania związane z GCP. Zasadniczo jest to CRUD, którego status zmienia się niezależnie od tego, czy jest kompletny, czy nie. Staram się unikać dokumentowania wszystkich drobiazgów. Udokumentowałem rzeczy takie jak uruchamianie phpinfo () jako test, że stos LAMP działa i wyświetla strony, dane wyjściowe powinny pokazywać modyfikację modów i mysql itp.
user127379,
1

Zastrzeżenie dotyczące licencji GNU jest takie, że domyślnie programiści są pozbawieni wszelkiej odpowiedzialności wynikającej z działania oprogramowania.

Nawet jeśli uważasz, że programiści powinni ponosić odpowiedzialność za złe oprogramowanie, faktem jest, że oprogramowanie jest bezpłatne.

Oświadczenie mówi po prostu, że dystrybuowane jest tylko oprogramowanie, a nie jakakolwiek gwarancja.

Modelem GNU do zarabiania pieniędzy na oprogramowaniu jest sprzedaż usług lub ochrona gwarancyjna.

Gwarancja to coś więcej niż tylko pewność, że produkt nadaje się do określonego celu. Na tym muszą być pieniądze. Przynajmniej „zwrot pieniędzy” lub więcej: obowiązek wykonywania pracy w celu doprowadzenia produktu do stanu umożliwiającego spełnienie określonego celu, a nawet pokrycia niektórych strat i szkód.

Obecność lub brak gwarancji nie zmienia tego, czym jest produkt ; jest to tylko forma ubezpieczenia, która zmienia sposób podziału ryzyka między dostawcę i klienta.

Ta działalność polegająca na zapewnianiu obowiązków związanych z wolnym oprogramowaniem jest w rzeczywistości dość powszechna. Każdy, kto komercyjnie pracuje z wolnym oprogramowaniem, zazwyczaj łata go, jeśli klient ma problem. Jeśli zrobisz jakieś urządzenie, które uruchamia na nim osadzoną dystrybucję Linuksa, i ma problem z powodu błędu w jądrze, bibliotece C lub gdziekolwiek indziej, naprawisz to dla klientów. Sytuacja polega na tym , że problem ma Twoje urządzenie, a klient obiecał niezawodne urządzenie przez całą dobę.

Kaz
źródło
0

Twoje rozumowanie jest błędne z kilku powodów:

  • Żadne z postanowień licencji nie daje możliwości zmiany jej warunków. Jeśli zaakceptowałeś warunki licencji za pomocą utworu, jesteś związany wszystkim w nim zawartym. Jeśli nie lubisz już warunków, możesz przestać korzystać z oprogramowania.

  • Licencja nie zawiera postanowień dotyczących szerokiego przyjęcia dzieła zmieniającego warunki.

  • Test akceptacji użytkownika nie ma wpływu na umowę zawartą z licencjodawcą. Jeśli masz gwarancję, że wybór pracy do włączenia do produktu sprawia, że ​​jest odpowiedni do celów twojego klienta, to między tobą a twoim klientem. Licencjodawca jest niezaangażowanym podmiotem zewnętrznym.

Zdanie następujące po tym, które zaznaczyłeś („Wyłącznie jesteś odpowiedzialny za określenie ...”), stawia konsekwencje użycia go prosto na twoich kolanach.

Blrfl
źródło
Czy zwolennicy zechcą opracować?
Blrfl,