Barnes and Nobel is legally obligated to release source

Status
Not open for further replies.
Search This thread

mjg59

Member
Nov 23, 2010
18
10
I'd like to point out that roustabout works for barnes and nobel and mjg59 who posted after him seems pretty damn fishy. I don't think ANY Linux kernel developer would dispute the fact that the intent of the GPL was designed to squash practices of piece of crap companies like Barnes and Nobel.

If barnes and nobel wanted lockdown, they should have chosen Unix or WP7 as their base platform.

google mjg59 nook site:livejournal.com or look for mjg59@srcf.ucam.org and mjg@redhat.com in the kernel git log.
 

AdamOutler

Retired Senior Recognized Developer
Feb 18, 2011
5,224
9,827
Miami, Fl̨̞̲̟̦̀̈̃͛҃҅͟orida
^^ I've noticed that you've been off the radar for a few years... Picked up a side job somewhere?

Hi Adam,
  • Where did you get the u-boot.bin on the SD from? The build date in the log predates the source drop, can you build your own from the provided nook source?
  • Can you successfully boot any other flashing_boot.img from SD using this u-boot?
  • Can you run other u-boot FAT commands by hand and have them succeed? How about 'fatinfo mmc 0:1' or 'fatls mmc 0:1' ?
  • Are you sure flashing_boot.img is a valid Android boot.img from mkbootimg? (I'm guessing it is, but can't hurt to be sure - hexdump -C flashing_boot.img | head -n 1 if there is any doubt.)

Sorry if these are obvious questions, but narrowing it down will be beneficial. Even if this turns out to be B&N's fault, it pays if you can make specific complaints rather than general ones.
  1. I've been trying several sources. We have two separate in the first post.
  2. no, only Barnes and Nobel signed images
  3. Yes we can run all commands, however it takes hardware modification to the device.
  4. I'll have to get back to you on the last one.
 
Last edited:

projectgus

Member
Sep 19, 2010
10
3
^^ I've noticed that you've been off the radar for a few years... Picked up a side job somewhere?

You're barking up the wrong tree here. mjg59 is a well known member of the Linux community (I'm going to see him talk about EFI Firmware & Linux at LCA2012 next week!) Making insinuations like that is not cool.

[*]no, only Barnes and Nobel signed images

This counts, it means the u-boot can read fine from FAT on your SD card.


I'll have to get back to you on the last one

Try downloading projectgus.com /misc/nook/flashing_boot.img (can't post a proper link because I'm a noob, apparently.)

That's from the kernel zImage that succulent posted (easier than building my own.) Packaged with the abootimg tool which is available on Debian/Ubuntu (a fancier version of mkbootimg from the Android tree), using the boot parameters from the nook tablet 1.4.1 update.

The initrd is all zeroes, so it definitely won't boot all the way. But at least you might get a different/later/useful error message on the serial console.
 
Last edited:

roustabout

Senior Member
Feb 12, 2011
825
212
I'd like to point out that roustabout works for barnes and nobel and mjg59 who posted after him seems pretty damn fishy. I don't think ANY Linux kernel developer would dispute the fact that the intent of the GPL was designed to squash practices of piece of crap companies like Barnes and Nobel.

If barnes and nobel wanted lockdown, they should have chosen Unix or WP7 as their base platform.

Not everyone who disagrees with Adam works for BN. I certainly don't.

I am, however, a careful reader, which is how I came to the conclusion that while the spirit of the GPL is against locked bootloaders, the letter of GPL v2 does not forbid them.

It's disappointing that Adam doesn't understand that even though I disagree with him, I was trying to suggest a an avenue for pursuing a licensing dispute that would be guaranteed to get BN's attention if successful.

And if it went to court, the dispute might provide a clear test case.

The reason I thought it might be worth getting honest to Jeebus lawyers involved is that this has broad implications for installing operating systems on newer general computing platforms.

I actually would love to see a decision strengthening GPL 2 but however a decision goes clarity alone would be very valuable. Seemingly unimportant edge cases are where important legal decisions often happen and from what I've read, there may not be settled law on this yet.

Getting as far as that would of course mean that - assuming the decision broke in favor of modders - this particular iteration would be less interesting as unlocking the bootloader would be years in the future.
 
Last edited:

AdamOutler

Retired Senior Recognized Developer
Feb 18, 2011
5,224
9,827
Miami, Fl̨̞̲̟̦̀̈̃͛҃҅͟orida
Wait.. roustabout, you're a Barnes and Noble fanboy? I didn't know Barnes and Noble had fanboys. I have seen you on the Barnes and Noble forums alot providing technical support and buddy-buddy with flyingtoaster so I assumed you and him both worked for Barnes and Noble. LOL.
 

roustabout

Senior Member
Feb 12, 2011
825
212
Actually, Adam, if you were a more careful reader you'd have realized long ago that I'm potentially a paying customer of yours. I'd like to be -- you are apparently a talented guy on the projects you decide to take on. Not much of a reader a listener, though.

The modchip that would let the NT run ICS isn't anything of interest to me. Software that would let Honeycomb or ICS devices expose at least their SD cards, if not their internal storage, as real mass storage when connected to a computer is something I'd pay for, and I wouldn't be the only one who'd pay for it. As it stands, the MTP interface is broken in a lot of ways and makes newer Android devices as a class much worse at some of the things they were once quite good at.

If someone were ready to port Gingerbread to either the Samsung 7 plus or the Asus transformer, that would be a project I'd pony up for, too, since I think that would be another way to avoid dealing with MTP. (I actually don't think fixing mass storage in Honeycomb or ICS is something we're likely to see.)

If someone was to get gpt fdisk working in Android, I'd be interested in that, too - really, any way to alter the partition table; I don't know if this is the right tool for that or not.

http://sourceforge.net/projects/gptfdisk/
 
Last edited:

AdamOutler

Retired Senior Recognized Developer
Feb 18, 2011
5,224
9,827
Miami, Fl̨̞̲̟̦̀̈̃͛҃҅͟orida
Well... I've got a custom kernel based on Barnes and Nobel source booting Ubuntu Minimal from SDCard using UART, which is a precursor to my Modchip and others are researching methods as well So, I suppose that meets all criteria of the GPL...

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable

Broken down into non-legal terminology from GPL-Violations.org
How can I verify that my source code release is complete?
This is quite easy. If you only use source code provided in that release, and you can use this source code to produce a working form of the executable code, then the source code release seems complete.
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.

I'm satisfied. Others are working on different methods.

I will now lock this topic to avoid flaming.
 
Last edited:
  • Like
Reactions: rjin9673

cfoesch

Senior Member
Dec 27, 2011
267
98
Albuquerque, NM
I just saw this thread because it was posted to the Hacker News blog. The first thing you should do is contact the Software Freedom Law Center. This is their area of expertise and exact what they do, sue companies that violate the GPL. More importantly however they can evaluate if this is really a violation of the GPL or something else. They'll also be able to contact B&N's legal division, the ones that will actually be able to accomplish something within B&N if they are in violation. Again this is the most efficient use of this forums outrage and indignation. Good Luck.

The SFLC are a great organization, but they can only help and represent the people who have standing against the violator, and cannot represent AdamOutler or any of us in this matter. They must represent the copyright holder, and if you are not the copyright holder, then contacting them will do nothing but waste their time, unfortunately.

(Though I'm discouraging people from contacting them about Nook issues, they are awesome, and I recommend them if your copyrights are being violated. They're great people, and were a real help back when a previous project needed help.)
 
  • Like
Reactions: Moogle
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    It would seem that Barnes and Nobel is betraying the most sacred of things in the open-source world, The General Public License(GPL). As open source programmers we all use the GPL daily. The GPL is what keeps Open-Source work like the Linux kernel free, modifiable and re-distributable. I tried to compile the sources provided by Barnes and Nobel, but they are incomplete. They will not compile.. I'm not the only one, others have tried and failed as well.

    So, I made a post on the Barnes and Nobel website. Last time I checked, at about 1PM today, the post had received about 20 responses and 38 "laurels" (their version of thanks). Each response was positive and that is an extraordinary amount of support, considering some of their "top laurled posts" have received 35 Laurels in 4 weeks.

    Barnes and Nobel deleted my request for source code granted by the GPL.

    These screen-shots were cached on my home computer before I went to sleep last night.
    Cached screenshot1:http://i41.tinypic.com/szy847.png
    Cached Screenshot2:http://i43.tinypic.com/2vsm7v9.png

    51szte.jpg


    Text in case something happens to the images or the host is blocked in your country:
    Barnes and Noble, you have a legal obligation to release full, compilable source. I have tried to compile the provided sources here to no avail. The provided sources are incomplete.



    1.4.0 source: http://images.barnesandnoble.com/PResources/download/Nook/source-code/nook_tablet_1-4.tar.gz

    1.4.1 source: http://images.barnesandnoble.com/PResources/download/Nook/source-code/nook_tablet_1-4-1.tar.gz



    The following quotes are from GPL-Violations.org http://gpl-violations.org/faq/sourcecode-faq.html
    What kind of source code do I have to publish under the GNU GPL?
    The GNU GPL demands that as soon as you distribute GPL licensed software in executable format you make available the "complete corresponding source code". The GNU GPL also contains a definition of this term:

    “ The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. ”

    How can I verify that my source code release is complete?
    This is quite easy. If you only use source code provided in that release, and you can use this source code to produce a working form of the executable code, then the source code release seems complete.

    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.


    By releasing uncompilable source, you are not only making yourself look bad... You're violating the terms of service you agreed to by using the Linux kernel in the first place... You're loosing footholes in the open-source community.. You're also putting yourself up for legal action.



    As a book seller, you should respect the fact that Open-Source work falls into the same category as a classic novel. It is a public treasure and should be treated as such. Your failure to abide by the rules is not only offensive, but it is illegal. Using Linux is not a free cash cow. Linux is free as in "freedom of speech", not free as in "free beer". You have a duty to release full kernel and U-Boot sources.



    I've requested sources, now please provide full, compilable, executable source.

    They DELETED my request for corresponding source code because it does not comply with their terms of service agreement. This is unacceptable by the licensing they agreed upon in the GPL:
    Code:
    3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
    
        a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 
        b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 
        c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

    • Barnes and Nobel sold the device with side-loading enabled, let the tech sites review it, then locked out that feature.
    • Barnes and Nobel is refusing applications for those without Tax ID numbers or business licenses to develop Open-Source Android apps on the Open-Source Android platform.
    • Barnes and Nobel is in a state of non-compliance with the GPL.

    I recommend contacting Barnes and Noblel about these in the following ways:
    1. Customer Service: http://www.barnesandnoble.com/customerservice/contactus
    2. Device Support: https://nookdeveloper.barnesandnoble.com/support/support.html
    3. Direct Email: service@barnesandnoble.com and support@book.com

    This site is called XDA-Developers because of the GPL. Without the GPL, we would not be conducting legitimate development, it would be something else like XDA-Hackers. As DEVELOPERS, we need to stand up for our rights and get the tools we need to develop. Please take action, in a professional manner XDA-Developers. Every e-mail and support request counts.
    4
    Brief background - my name is Matthew Garrett. I'm a Linux kernel developer working for Red Hat. I bought an original Nook back in 2009 and was responsible for getting Barnes and Noble to release the full kernel source code. When the Nook Color was released I did the same. I've been active in enforcement of the GPL and have a keen interest in helping (or making) companies comply with their obigaitons.

    Having said that.

    One of the significant differences between GPLv2 and GPLv3 is that GPLv3 makes explicit the requirement that signing keys be shipped. It has been argued that the GPLv2 implicitly requires the same, in the form of the requirement for the scripts required for installation. I'm sympathetic to that claim, and I will not personally distribute any code that requires a private signing key. But I'm not a lawyer and I'm certainly not a judge. Many people who are active in GPL enforcement will agree that vendors should provide the signing keys - but I don't think you'll find any who will actually make that the basis of a case.

    B&N are not the only company to require signed kernel images. Many Android devices have locked bootloaders. I think this is a despicable anti-consumer design choice, but nobody's taking action against it. B&N have provided you with the kernel source code. They've done better than many by also providing you with the configuration file. They have a strong argument that by doing so they've complied with the requirements of GPLv2, and while you (and I) may disagree, that's almost certainly going to be as much as they'll be required to do. Consensus at the moment is that they don't need to do any more.

    If it went to court then you may end up finding a judge who would rule that they're in violation, but I wouldn't put money on it. I think it's far too extreme to claim that they're actively violating.
    3
    For now, just fix what's missing?

    Sorry I've been in nookcolor and touchpadland for a while and not paying much attention to what's going on here, so I apologize if this has been said previously, but the issue w/building u-boot seems to be the following few lines in distro/u-boot/common/Makefile:

    Code:
    ifeq ($(BOARD),omap4430sdp)
    # Pull in the default kernel command line
    include $(TOPDIR)/../../../device/ti/blaze/BoardConfig.mk
    CFLAGS += -DBOARD_KERNEL_CMDLINE="$(BOARD_KERNEL_CMDLINE)"
    endif

    That BoardConfig.mk file isn't included in the u-boot source, but it's obviously referring to the board file in the device tree in their version of Android and is where the kernel's default bootcmd is apparently being set.

    You can also see the reference again here in distro/u-boot/include/configs/omap4430sdp.h

    Code:
    // bootargs are set in device/ti/blaze/BoardConfig.mk
    #define CONFIG_BOOTARGS ""
    #define CONFIG_EXTRA_ENV_SETTINGS \
            "commonbootargs=" stringify(BOARD_KERNEL_CMDLINE) "\0" \
            "sdbootargs=${commonbootargs} root=/dev/mmcblk1p2 rw" "\0"

    So, to be more specific, they're just setting "commonbootargs" to whatever BOARD_KERNEL_CMDLINE is set at in Android BoardConfig.mk.

    You can petition them into handing that little file over under the GPL, but I'm guessing there's not going to be much interesting in there (for u-boot building anyway), except a line that looks something like:

    BOARD_KERNEL_CMDLINE := "something"


    So what is that "something"? Well, we might compare with the Nook Color u-boot source... Note this is the cm7-customized version, and it's omap3621/encore (nook color) not the omap4430/blaze (nook tablet) , but anyway, maybe there will be some inspiration:

    Code:
    "commonbootargs=console=ttyO0,115200n8 rw init=/init videoout=omap24xxvout omap_vout_mod.video1_numbuffers=6 omap_vout_mod.vid1_static_vrfb_alloc=y omap_vout_mod.video2_numbuffers=6 omap_vout_mod.vid2_static_vrfb_alloc=y omapfb.vram=0:8M no_console_suspend" \

    Okay, y'know, so most of that is bull****, but still, it's something to reference maybe. Also, keep in mind that dalingrin modified the NC kernel so that bootargs are specified in the kernel config instead of via u-boot but whatever. It may be totally irrelevant to the nook tablet, but there you have it.

    Anyway, let's move on to Method #2, going to omapzoom's omap4430 repo to see if we can figure out what BOARD_KERNEL_CMDLINE is supposed to be.

    So in their file-- include/configs/omap4_sdp4430.h, you can see CONFIG_EXTRA_ENV_SETTINGS is also being set. So that's another source of settings.

    And finally, I don't have a nook tablet, and I can't check the following, but if you've got one rooted, can someone try Method #3?

    # cat /proc/cmdline

    to see what command line your kernel is using?

    If you got it, then change the end of distro/u-boot/common/Makefile to:

    Code:
    ifeq ($(BOARD),omap4430sdp)
    # Pull in the default kernel command line
    #include $(TOPDIR)/../../../device/ti/blaze/BoardConfig.mk
    BOARD_KERNEL_CMDLINE := "(what I found with cat /proc/cmdline)"
    CFLAGS += -DBOARD_KERNEL_CMDLINE="$(BOARD_KERNEL_CMDLINE)"
    endif

    And try building again. For me, putting in a bs string got me past that error, to this one:

    arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-ld: internal error in relocate, at /tmp/android-build-bb7e003d31d08f72cabc269a652912b7/src/build/../binutils/binutils-20100303/gold/arm.cc:9134

    This error may be related to something similar I found here. Perhaps downgrade to an older compiler? I had a similar internal error with xloader (mlo), but I'm lazy and don't have a NT anyway, but just throwing this all out there for someone to try.
    2
    I'd like to point out that roustabout works for barnes and nobel and mjg59 who posted after him seems pretty damn fishy. I don't think ANY Linux kernel developer would dispute the fact that the intent of the GPL was designed to squash practices of piece of crap companies like Barnes and Nobel.

    If barnes and nobel wanted lockdown, they should have chosen Unix or WP7 as their base platform.

    google mjg59 nook site:livejournal.com or look for mjg59@srcf.ucam.org and mjg@redhat.com in the kernel git log.
    1
    I just saw this thread because it was posted to the Hacker News blog. The first thing you should do is contact the Software Freedom Law Center. This is their area of expertise and exact what they do, sue companies that violate the GPL. More importantly however they can evaluate if this is really a violation of the GPL or something else. They'll also be able to contact B&N's legal division, the ones that will actually be able to accomplish something within B&N if they are in violation. Again this is the most efficient use of this forums outrage and indignation. Good Luck.

    The SFLC are a great organization, but they can only help and represent the people who have standing against the violator, and cannot represent AdamOutler or any of us in this matter. They must represent the copyright holder, and if you are not the copyright holder, then contacting them will do nothing but waste their time, unfortunately.

    (Though I'm discouraging people from contacting them about Nook issues, they are awesome, and I recommend them if your copyrights are being violated. They're great people, and were a real help back when a previous project needed help.)