Labas vakaras,

2016.04.20 15:40, Domas Jokubauskis rašė:
Paėmėte užbaigtą OsmAnd programą, kuri su keliomis išimtimis [2] turi
GPL3 licenziją, ir ją pritaikėte savo tikslams parašydami papildomų
klasių toje pačioje programoje. Anksčiau jau rašiau, kaip tiesiogiai
kviečiate OsmAnd funkcijas iš savo rašytos klasės, ir tai yra
tiesioginis susiejimas. Jei klystu, prašau mane paneigti. Nematau
galimybių tai pavadinti nesusijusių komponentų „agregatu“, kai tie
komponentai egzistuoja toje pačioje programoje tiesiogiai ir
neatskiriamai susiję. Šiuo atveju turi būti laikomasi GPL3 5 skyriaus c)
punkto [3]. Jei kviestumėte OsmAnd per „intents“ sąsają, nekiltų
klausimų, nes būtų aiškus atskyrimas tarp jūsų programos ir OsmAnd.

Aišku, malonu, kai atsiranda daugiau kokybiško atviro kodo, bet noriu
pabrėžti, kad dabar mums tiesiogiai jūsų kodas nelabai rūpi, mums rūpi,
kad būtų paisoma atviro kodo licenzijų tikslų ir teksto. Norėčiau, kad
prieš rimčiau platindami savo produkto Android dalį, kurioje OsmAnd yra
neatsiejamas komponentas, iki galo perprastumėte, ką vis dėlto GPL3 reiškia.

beje, apie agregavimą (ir kas laikytina agregatu, o kas ne) yra netgi FAQ paaiškinimas pas GPL autorius ( http://www.gnu.org/licenses/gpl-faq.html#MereAggregation ):

What is the difference between an “aggregate” and other kinds of “modified versions”? (#MereAggregation <http://www.gnu.org/licenses/gpl-faq.html#MereAggregation>)

    An “aggregate” consists of a number of separate programs,
    distributed together on the same CD-ROM or other media. The GPL
    permits you to create and distribute an aggregate, even when the
    licenses of the other software are non-free or GPL-incompatible.
    The only condition is that you cannot release the aggregate under
    a license that prohibits users from exercising rights that each
    program's individual license would grant them.

    Where's the line between two separate programs, and one program
    with two parts? This is a legal question, which ultimately judges
    will decide. We believe that a proper criterion depends both on
    the mechanism of communication (exec, pipes, rpc, function calls
    within a shared address space, etc.) and the semantics of the
    communication (what kinds of information are interchanged).

    If the modules are included in the same executable file, they are
    definitely combined in one program. If modules are designed to run
    linked together in a shared address space, that almost surely
    means combining them into one program.

    By contrast, pipes, sockets and command-line arguments are
    communication mechanisms normally used between two separate
    programs. So when they are used for communication, the modules
    normally are separate programs. But if the semantics of the
    communication are intimate enough, exchanging complex internal
    data structures, that too could be a basis to consider the two
    parts as combined into a larger program.


Žiūrint iš naudotojo pusės, jeigu „NaviJazz“ yra įdiegiama kaip savarankiška programa, nereikalaujanti, kad šalia būtų įdiegta ir „Osmand“, bet naudojanti pastarosios kodą viduje, aš esu gan tvirtai įsitikinęs, jog nesusijusių dalių agregatu ją pavadinti būtų sunku.

Rimas
_______________________________________________
Talk-lt mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-lt

Atrašyti