Comments (8)
The default license in the group is Apache for OpenStack-related work (including various Elijah things) and GPLv2 (not GPLv2+) otherwise. The EPL was used in Diamond for historical reasons. Depending on how much new code you're writing, and how much it is "OpenDiamond core code" vs. "application code", EPL or GPLv2 might make sense. Ultimately it's a question for Satya.
If you use the GPL, you will need additional wording to allow linking with the EPL library code; see HyperFind for an example. That puts the codebase in the odd position that it is GPL, but cannot use any other GPL code (because it wouldn't have the EPL linking exception).
from diamond-android.
In future, BTW, you should work out the licensing before your code is pushed to an open repository.
from diamond-android.
Hi @bgilbert - can you take a look at the tentative EPL license I've added to the README?
Should I send to Satya to verify?
I'll add headers to the files once we've made a decision.
Also, I haven't uploaded binary artifacts, but I'm hoping to link to statically linked
filter binaries hopefully produced by TravisCI.
Some licenses, such as http://www.libjpeg-turbo.org/About/License, include notices
like the following.
If your binary-only distribution or statically-linked application includes/uses the TurboJPEG API, then your product documentation must include the text of the libjpeg-turbo license.
Origin: Clause 2 of the libjpeg-turbo license
Is is sufficient to link to their license from the README, or should I include them all in
a library-licenses
directory?
from diamond-android.
In the future, it is important that you handle licensing for new code in exactly this order:
- Decide what the license will be, discussing with Satya if necessary.
- Add the corresponding license blocks to your code.
- Publicly release the code (including pushing to a public GitHub repo).
You cannot "tentatively" add a license to a public repo. The absence of license blocks in each source file does not establish that the software is not licensed, since there is a top-level README and LICENSE file that releases everything under the EPL. Thus, while there is some ambiguity, a recipient could easily argue (and I would tend to agree) that you have actually released the code under the EPL. This has the following consequences:
- Even if you switch the code to a different license later, the commits arguably under the EPL will continue to be arguably under the EPL.
- Even if you rewrite the repo history to drop the EPL, anyone who already has a checkout with the arguably-EPL code will retain an arguable EPL license to that code.
As I said above, you should check with Satya about which license to use. He doesn't need to sign off on the exact wording of the README, etc., but he may have an opinion about the license itself.
diamond-core-filters doesn't use the TurboJPEG API, just the regular libjpeg one. But, in general, you should distribute the license text of a component whenever you distribute that component. (It's not sufficient to rely on third-party websites, since they may go away.) If you distribute statically-linked binaries, you must distribute the license texts alongside them, but if you're not putting their source into your source tree, you don't need to include the licenses in your source tree either.
from diamond-android.
Decided on EPL over email. @bgilbert - I'll ping you when I've updated the rest of this
repo so you can take a final look.
from diamond-android.
Hi @bgilbert - I've added the following snippet to all the source
files in this repo. Can you take a look at the licensing statement at the
bottom of the README before we close this issue?
Diamond Android - Diamond filters for the Android platform
Copyright (c) 2013-2014 Carnegie Mellon University
All Rights Reserved.
This software is distributed under the terms of the Eclipse Public
License, Version 1.0 which can be found in the file named LICENSE.
ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS SOFTWARE CONSTITUTES
RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT
from diamond-android.
The README looks good. Diamond filters for the Android platform
isn't quite right, because your code provides a runner for existing filters, and not any new filters.
from diamond-android.
I used Android library for running Diamond filters
in the repository description. Better ideas welcome. Could you get the text updated so we can close this bug?
from diamond-android.
Related Issues (20)
- Use TravisCI, publish library javadoc to GH pages. HOT 2
- Write detailed javadoc once development stabilizes.
- Implement `createTempDirectory`
- Add option to duplicate stdin to a file for debugging
- Improve Android application to not convert from NV21->JPG->RGB
- Correctly release the camera when suspending or exiting the example applications.
- Create experiment to compare Diamond's OpenCV face detector to using Android's OpenCV Java library.
- Complete README
- Abstract `Filter` API. HOT 3
- Pass code as byte[] to Filter rather than an Enum pointing to the resource ID. HOT 2
- OpenCV/C++ perceptual hashing filter. HOT 1
- Fix `sigfillset` error when building/launching from Linux. HOT 1
- Add examples of other filters. HOT 2
- Show benchmarks of every filter HOT 3
- Small Project Idea: ARM package manager HOT 3
- Bump libpng to remove security vulnerability
- Add public domain dedication to new getline code
- Upgrade to Android studio/gradle HOT 1
- Filters other than ocv hanging. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from diamond-android.