GPL Source Code
Out of curiosity, is there a delay to comply specified somewhere in there?
The day you release the product is the same day you MUST release the "complete corresponding source code"
If the build process fails, or you end up with a non-working executable, or you have no way to install the resulting executable, then clearly something is missing.
This means :
ALL of the GPL Code on the device.
AND all of the files used including ANY files used to build the resulting firmware.
Including the config files AND Das uBoot.
There seems to be evidence of progress.
Unfortunately it is ONLY the LEDE source without any modifications at the time of this post.
They also should push the Das uBoot code as well.
The sources for LEDE on OnionIoT-github do have a branch called "Omega2", but that branch actually contains the files and changes for LEDE on Omega1. Could be a mistake, or could be that they're trying merge the two. Might be prudent to just wait a couple of days and see what happens.
Until they push the changes "WE" can't really help people fix their broken toys ... only "THEY" can.
Technically, they only need to provide the modifications to, and a pointer for the baseline U-Boot sources, in order to satisfy the GPL, right? Well, that and the makefiles, at the very least.
It isn't their job to tell you how to build something, only provide the reasonable means to recreate their binary using sources yourself. Now, that does get sticky if they ended up using a closed assembler or some other tool that needs licensing, but that isn't something that is covered by GPL (IANAL).
But, assuming the use of gcc (again, this is one of the reasons llvm has such a huge interest) and gpl v2 sources, the gpl v2 source baseline plus the modifications with makefile changes will need to be furnished. It is unclear what, if any, proprietary bits were utilizing the GPL v2 code, and in what way, so I'd have no idea if that stuff is required to be disclosed.
In the end, it'd be hard to prove any one thing needs disclosing besides the kernel source, U-Boot and busybox (from a cursory glance), as those are what shipped on the device to "customers".
I also don't know if they have an open source compliance officer on staff, so. . . good luck
They need to publish all the code required to build the firmware that shipped on the SPI NOR Flash chip.
In other words if I install the compiler and run 'make' it will build firmware same as the shipped product.
They certainly don't need to tell me how to build something
It runs LEDE ..which is GPL or more permissive.
Das uBoot is also GPL.
Go ask Harald...or contribute to his beer fund after the lawsuit is filed...http://gpl-violations.org/faq/sourcecode-faq/
+1 for GPL release. Closest I could find was https://github.com/OnionIoT/source/tree/omega2
Is that the correct repo?
Ideally, I would like kernel and u-boot in their own separate repositories so issues/bugs can be tracked.
seems to be it, no? and as it's compiled, I think we would just need access to the buildroot toolchain( which I think they've also given out, at least for omega 1)
u boot is the only thing I haven't found, but haven't really looked that hard.
I do think threatening lawsuits is the wrong approach, though. I feel that coming into compliance is a feasible and acceptable response, no?
@Theodore-Borromeo No, like I already said above, that branch has the Omega1-stuff, not the Omega2-stuff. It is probably a mistake, or they may be in the process of merging the two, I don't know, but I would give them a few days and see what happens. Also, the toolchain is part of LEDE already, ie. it is already there in that branch. Just compile LEDE and POOF -- you have your toolchain, too. U-Boot is also part of LEDE, but I do not know yet, if the Onion-devs use the U-Boot from LEDE or if they build it separately -- again, it'd be prudent to keep one's pants on and wait a bit, before jumping to conclusions.
Did it build firmware for Omega2 I think not.
Lets NOT confuse Omega with Omega2.
The Older unit is Atheros based the new one is MediaTek based.
They need to push the patchset that builds Omega2 firmware.
The Das uBoot is not the one from LEDE.
Onion Corporation = Code Bogarts
@WereCatf good to know. I, of course, agree with your statement and have my pants firmly situated
@Larry-Pinney I don't know if I'd go so far as to say that they are Code Bogarts. It is honestly difficult in larger groups to comply with GPL even in a direct manner. Tivoization happened, where the source was released but was unable to be flashed on the board, and they went ahead and made GPL v3 just to cover that. People started running GPL v2 code on servers, kind of but not really avoiding distribution, so now we have the AGPL.
The point is: there is a difference between not having time in trying to develop for a market with a small team, and just needing more manpower and time to comply, and blatant disregard for the GPL v2. I think that Onion, Inc. will see that in order to truly utilize a linux computer for projects, you need the full source in order to correctly compile not just the kernel, but any userspace apps you hope to distribute.
I like the app idea with a fully integrated (and perhaps proprietary/closed-sourced) app store. I think that in order to satisfy the GPL v2 for the kernel and bootloader, they should ship a bare bones product with a script that you can run on bootup to download the other onion specific, non open-source bits. You could then allow for your proprietary value add to grow apart and separately from the kernel side, and thereby promote active contribution to the underlying linux core of your board. Arguably, the value isn't even in the board itself, but on the work done to make your platform that primarily resides OFF the device!
Of course, there are phones made by companies that are much larger that I feel do not satisfy the GPL v2 by virtue of a locked bootloader, which prevents flashing of any firmware or ROM you may build with source (the ability to build from furnished source anything but a non working beta ROM is debatable as well, due to the fact that these same companies most definitely do NOT furnish ALL source code for ALL releases subsequent to the initial commercial delivery, thereby again not satisfying distribution trigger).
I find all of this interesting, as this was one of my jobs at QuIC, even though IANAL.
@Larry-Pinney Also, thanks for pointing out the mediatek board issue. I was trying to figure out a way that I could cross compile for Omega2 Plus like I did for omega, and figuring out where the source is was highly important to me (regardless of GPL v2 compliance). I want to be able to build a cross-compile toolchain via a docker image containing openwrt, so that I can easily download and build from feeds any number of cool stuff, export the resultant binary, and install to my Omega2. I know it's convoluted, but I absolutely do not want to learn how to make a separate build toolchain a la LEDE if I can avoid it.
@Theodore-Borromeo You can use my version of LEDE to compile stuff for Omega2(+) for now, if you'd like: https://github.com/WereCatf/source.git -- it doesn't have everything the official sources would have, but the firmware-images themselves can be installed and they run just fine, if you wanted to give it a try, and you can, of course, compile extra software for your Omega2's with it even without installing custom firmware-images. Or, I can just provide you with a link to my precompiled toolchain, if that's more your speed.
@WereCatf I will most definitely try that out. I'm first going to build an LEDE docker image (turns out it's just a special version of openwrt), and I'll point to your source tree for an unofficial omega2+ build container until we get the official Onion version
@Theodore-Borromeo Oh, I forgot to mention that you probably want to merge any changes from upstream LEDE. I am deliberately not keeping my repo current with the upstream so as to keep my changes easily visible for anyone who happens to take a peek, so they can implement or add to them at will.
The following should work for merging latest stuff from upstream:
git remote add upstream https://github.com/lede-project/source.git git fetch upstream git merge upstream/master
Onion Corporation is only interested in money...same as any attorney.
They took the money...shipped the devices without supplying the source code...and they are now repeat offenders ... it's not like there were no complaints about the first Omega and it's source code...Don't repeat offenders commonly receive harsher penalties?
WHY do large international corporations such as D-Link and Netgear have GPL Source downloads available?
Could it be that courts have enforced the terms of the GPL?
And they have "learned their lesson" by contributing an "undisclosed amount" to the FSF...et.al.... could be
Onion Corporation used the GPL Code and still disregards the license.
Always keep in mind that it is the purpose of the GPL to enable the users to exercise his freedoms. Specifically, the freedom to make modified versions of the program, and to run such modified versions of the program.
The day you release the product is the same day you MUST release the "complete corresponding source code"
Onion Corporation shipped however they failed to PUSH the code.
"blatant disregard for the GPL"...this adequately describes the Onion Corporation.
I think blatant disregard != negligence != ignorance, right?
I think the prudent first step is to try and build this thing (which I'll attempt), figure out what if anything is missing, and ask for specific help with issues. Ultimately, the release of source code benefits them most of all, as PRs and contributions to your board ensure its survival and thriving, right? Though I do want source code for the kernel so that I can build the version of the gspca drivers that work with ps3eye cameras, I am not myself interested in U-Boot. However, I do see your point in complying with the GPL. I would think that ultimately, Mediatek must have previously released the U-Boot AND some sort of kernel source for this board, and Onion could have done their part to satisfy the GPL v2 by releasing what Mediatek owed the world when Mediatek released it to Onion, Inc. Probably would look a lot similar to https://github.com/MediaTek-Labs/linkit-smart-7688-uboot from the Linkit line of boards. . . In my opinion, a simple confirmation that the above github repo (so long as it is alive and up) is the same software omega2+ uses would satisfy that portion, right?
@WereCatf https://github.com/borromeotlhs/source/tree/upstream_master_merge is the latest upstream merge to your master. I forked so as to be able to push and build your version and the merged with upstream versions from my dockerfile. Starting on the Dockerfile now. . .