pelagicore / ivi-main-loop Goto Github PK
View Code? Open in Web Editor NEWA main loop abstraction for InVehicle-Infotainment (and other projects).
License: Mozilla Public License 2.0
A main loop abstraction for InVehicle-Infotainment (and other projects).
License: Mozilla Public License 2.0
The current LICENSE file refers to GNU Library General Public License.
First, this is an outdated version of LGPL since the newer versions are named "Lesser" GPL for example LGPL v2.1 and v3.
In addition the license terms therein refer to the code use as a library specifically. In general, using LGPL for any non-library code is problematic. If the code is not a library then the parts of the license that assume it is may be judged to be not applicable at all, and therefore leaves the license situation for the code uncertain which is clearly the worst outcome for all, publishers and users.
In this code, the C++ Base Class abstraction essentially provides an API definition only.
(The GLib example arguably provides some concrete implementation however, but that is an example and might be adopted or not adopted by your users).
Adopters are expected to write additional (yet unknown) specializations of the (abstract) base class, by including the header file and inheriting from the base class. Separating the code implementation from future main-loop implementations implemented in multiple/future frameworks is a goal of the project as described in the README.
The main loop is a key part of an executable. This is to say that it seems the intention was to use a "weak" copyleft license, but the usage of this code is likely not as a linked library and therefore I would recommend against using LGPL (also the newer versions). Even if the intention was that direct changes to this code must be published as open-source under the same license (copyleft principle) while also making the code (API definition) usable in open-source and proprietary software alike, there are better and clearer options in this case.
If "weak copyleft" was your intention I would recommend affixing the MPLv2 license, which still requires that the Covered Software is always made available under the same open-source terms without limitations, but allows Larger Work to be licensed under other conditions (i.e. a "weak copyleft")**. If you want maximum compatibility with any other licenses (N.B.: potentially proprietary software) allowing usage of also modified versions with attribution only then a permissive license (BSD/MIT style) may be applied. But judging from your original goals it would seem that MPLv2 is the best matching choice.
** IANAL and everyone must interpret the license text on their own
This is entirely up to you but I would avoid the outdated LGPL version and use a different weak-copyleft or permissive license if you want to facilitate adoption of this API.
Will test gerrithub.
Assigning to myself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.