Chronos > Software Dev

GPL Source Code

<< < (2/3) > >>

Electra:
I am curious what the future plans are for things like the FPGA code and other deep parts of the camera.
While I'm assuming they won't be released while the camera is in production, will, at end of life, everything needed to make it go be made available?

My own preference would be GPL as much as possible to make any changes to the camera app or other work available back to the community and if you want to do something commercial with it, dual licence it off David. GPL will also not prevent you from writing your own apps for the camera under whatever licence you wish.

However, it's not my camera, these are only my own views and even being as open as it is, is already awesome. :)

Simon:
For trivial mods that would take just as long to copy as to write from scratch - GPL no problem.

But for any app with serious IP, GPL discourages sharing with the community due to having to share the source code. That same IP I could be using in another commercial product, filing a patent for, or simply don't wish unscrupulous companies to discretely use in commercial products.

Apps with serious IP also have the capability of people specifically buying the camera because of the app.  Many of those apps won't happen if the source has to shared. Apps won't be freely offered if a MIT license or like has to be purchased.

Electra:
I should have made myself clear.  I wasn't against allowing MIT licensed code, just keeping the core camera framework/app GPL.
After all, the OS and system libs are already GPLed and there is an argument to be made that this was one factor that made the camera possible.  :)

https://www.gnu.org/licenses/gpl-faq.en.html#LinkingOverControlledInterface
Adding a clause like that would allow someone to write their own control app and interface it to the rest of the camera and not share it according to the terms of the MIT liciance they are welcome.
HOWEVER if they want to make improvements to the main camera app, should be shared and others should be able to improve apon those changes.  After all, David, and eventually others will put a lot of work into it and I don't like the idea of someone benefiting from his work but not giving back.

Another option might be the LGPL to keep the main app and camera libraries open but allowing proprietary programs to connect and interact.

Again, disclaimer. My opinions only, ultimately it's David's decision as we don't know the final vision for HIS camera/company.

Simon:
Yes, it goes without saying it's David's ultimate decision. Posts are always opinions - we're only here discussing considerations, and also learning in the process.

Anyone choosing to run a slowmotion youtube channel or blog is commercially benefiting from David's work if successful. They have paid $2500+ for David's work and are heavily advertising the camera, so much so David forwent the $2500+ for a bunch. So giving back I don't feel applies. Other sorts of commercial work - it's all a case by case thing.

A quick scan through Qt's licensing suggests David will have a Qt commercial license, so although some Qt libraries or third-party libraries will be GPL/LGPL, the actual app won't be GPL/LGPL.

LGPL still requires one to give access to the library and usage. Great for protection of algorithms, but still I wouldn't wish some commercial entity to freely use my work.

Similarly I totally agree with David not exposing his serious IP unless it's under appropriately secured and priced.

Electra:
The disclaimer is only here so I don't come across as arrogant know-it-all, I'm trying to argue a point, not trying to come across as an asshat. I sometimes fail at making the distinction clear.

This also depends on what you plan to do. If the core camera libs and main app is LGPL, you can write your own app(I hate that word, what was wrong with 'program'/'application':), to control the camera what whatever level is provided and if David has provided an API(And hopefully he will!  'libkron' maybe?:), interface with the main camera control interface all without releasing any of your code.

As far as I can tell, from the point of LGPL is that the license ends at the API/library boundary. From the license:  "A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License."

So you can write your own programs that do anything from completely take control over the camera to a simple trigger library add-on and keep your code to yourself. The ONLY code you will have to release is any changes made to David or the OS/it's libs/programs, then I believe it would be, at the very least, good manners to release those improvements back for others to enjoy.

How many other cameras have this level of openness? And of those how many are high speed? I don't like the idea of it being open and then someone making improvements to the main software without paying it forward by sharing. Add-ons sure! Separate control programs? Sure! Core improvements? No. If you want to keep your code to yourself, make your own camera, or contact David for a special licence.

Someone who receives this camera after the promotional ones are under no obligation to even mention that they use it and many won't, so I don't consider that a valid argument.
No, I'm trying to argue that this camera would have been much less practical without the GPL and LGPL code running the OS. And while under no obligation, it would be nice if the camera was as open as piratical on top of that so others could build upon that work and give back themselves in the same tradition.

This is why I'm also hoping that when the camera hits end of life in however many years that takes, everything is opened so existing cameras can continue to be improved and worked on. But that is another point entirely.

And... that was way too long and rambling. Sorry, hopefully at least a few points are clear.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version