Jak wyświetlić / wyjaśnić licencję na kod na blogu

10

Załóżmy, że mam bloga dostępnego na jednej z licencji Creative Commons . Taki rodzaj licencji byłby wyświetlany na dole każdej strony z linkiem do faktycznej licencji itp.

Najwyraźniej jednak licencje Creative Commons nieodpowiednie dla oprogramowania ani do dystrybucji kodu źródłowego , więc co z jakimkolwiek kodem (np. Fragmentem / fragmentem lub nawet pełnymi programami), który może być częścią posta na blogu?

Gdybym zdecydował się wydać ten kod jako GPLv3, czy byłoby na tyle akceptowalne i jasne, aby na dole strony powiedzieć coś takiego: „ Ta strona internetowa pana Foo jest wydana na licencji Creative Commons bla bla, z wyjątkiem kod źródłowy w postaci fragmentów kodu / fragmentów / próbek, które są udostępniane na licencji GPLv3 "?

Czy są lepsze / inne / bardziej formalne sposoby wyjaśnienia takiej sytuacji?

mguassa
źródło
2
Chcesz przejść z CC na GPLv3? Blecch. W każdym razie GPL zawiera szczegółowe instrukcje dotyczące jego stosowania i stosowania; patrz gnu.org/licenses/gpl-howto.en.html
Robert Harvey
1
Nie chcę przechodzić z wersji CC na GPLv3, po prostu próbuję znaleźć odpowiedni sposób, aby blog wyświetlał 2 licencje, jedną na treść bloga, taką jak tekst itp. (Wydana na licencji CC), a drugą jeden dla zawartych w nim fragmentów kodu (które mogą być wydane na GPLv3). To dlatego, że nie mogę wydać wszystkiego z tą samą licencją.
mguassa
A może na odwrót? Jak użyjesz fragmentu kodu, który traci licencję? Podaj tylko źródło? Wydaje mi się, że jest to wysoce zależne od statusu prawnego twojego projektu (komercyjny / OSS / akademicki itp.)
robi

Odpowiedzi:

12

Zasadniczo na stronie zorientowanej na rozwój istnieją trzy rodzaje treści, które mogą być objęte różnymi licencjami:

  • Sama treść tekstowa, czyli tekst bloga,

  • Kod źródłowy,

  • Projekt wizualny (sam projekt i elementy graficzne, takie jak logo).

To, czego użyłem na wielu stronach ( przykład ) i które może być również użyte na blogu, to nagłówek podobny do:

Copyright © 2015 Example Corp. Wszelkie prawa zastrzeżone, z wyjątkiem części wymienionych poniżej:

co w rzeczywistości oznacza, że:

  • Treść i kod są objęte dwiema różnymi licencjami,
  • Wszystko inne, co nie zostało wyraźnie wymienione, ma wszelkie prawa zastrzeżone.

Uwaga:

  • Jeśli fragment kodu na Twoim blogu jest niewielki, istnieje prawdopodobieństwo, że nie ma potrzeby posiadania konkretnej licencji (a nawet jeśli istnieje, zostanie ona odrzucona przez czytelników i nie będziesz w stanie egzekwować jej warunków w Sąd).

    Na przykład fragmenty kodu , takie jak w tym artykule MSDN, nie mogą być objęte licencją: każdy, kto nigdy nie czytał tego artykułu, może sam napisać dokładnie te same fragmenty kodu, a osądzenie, że kod został wklejony.

  • Jeśli fragment kodu na Twoim blogu jest duży, licencja może być zawarta w nagłówku. Nie pełny tekst (proszę, nie; licencje w nagłówku pliku, pisane wielkimi literami, są strasznie brzydkie), ale tylko wzmianka z ewentualnym linkiem. Ma to zaletę w porównaniu do wzmianki o licencji w stopce strony: jeśli kod zostanie wklejony, kopia ma większą szansę na pozostanie.

    /**
     * Author: Somebody <[email protected]>
     * Original source: http://blog.example.com/123/
     * License: BSD 3-Clause License (http://opensource.org/licenses/BSD-3-Clause)
     **/
    // Code goes here.
    

Ponadto, jeśli chcesz, aby Twój kod był rzeczywiście używany, rozważ licencję inną niż GPL. Ponieważ GPL jest bardzo restrykcyjną licencją, może nie być odpowiednia dla fragmentów kodu umieszczonych na blogu.

Arseni Mourzenko
źródło
Dziękuję, właśnie tego szukałem. Czy mógłby Pan zasugerować kilka innych licencji, których mógłbym użyć do takiego kodu (fragmentów) zamiast GPL?
mguassa
2
@mguassa: może Cię zainteresować witryna opensource.org/licenses . Na przykład BSD-2 i BSD-3, Apache License 2.0 i licencja MIT są w porządku, ponieważ umożliwiają korzystanie z kodu w zastrzeżonych i / lub zamkniętych źródłach. Jeśli nie masz pewności, która licencja jest dla Ciebie najlepsza, w konkretnym przypadku skontaktuj się z prawnikiem.
Arseni Mourzenko
2

Możesz przechowywać fragmenty kodu w repozytorium online gdzieś z własnym plikiem LICENCJA, aby ludzie wiedzieli, jak mogą go ponownie użyć. Możesz także napisać fragmenty kodu jako Github Gists , a następnie osadzić je w swoich postach na blogu: ponieważ każdy Gist może mieć wiele plików i możesz osadzić je osobno ( zgodnie z opisem w odpowiedzi SO ), możesz dodać osobny plik licencji do każda Gist lub mieć jedną dużą Gist z wieloma fragmentami kodu.

Gauraw
źródło
Dziękuję, doceniam twoją sugestię, to także coś, co mogę rozważyć. Pozytywne.
mguassa
1

O ile nie chcesz tego zabronić, licencjonowanie Twojego kodu na licencji Creative Commons nie jest szkodliwe. Umożliwiłoby to na przykład użytkownikom umieszczenie kodu w postach wymiany stosów (np. Podczas udzielania odpowiedzi na temat przepełnienia stosu).

Ponadto możesz licencjonować wszystkie fragmenty kodu w ramach jednej lub więcej różnych licencji (oprogramowania), takich jak GPLv3.

Użytkownicy korzystający z fragmentów kodu mogą następnie wybrać, której pojedynczej licencji (spośród tych, które udzieliłeś), chcą obserwować.

Sposób komunikacji / pokazania, które licencje są dostępne, zależy od Ciebie. Zależy to przede wszystkim od tego, jak chcesz przyciągnąć wzrok. Na przykład możesz dodać informacje

  • na stronie „Informacje” w Twojej witrynie i / lub
  • w stopce każdej strony i / lub
  • pod każdym fragmentem kodu i / lub
  • w znacznikach (dzięki czemu można je odczytać maszynowo) przy użyciu RDFa.
unor
źródło