Gpl & Source Code - Constructive Suggestions


they will release it, just give them time my god....
also they cant and wont releasing everything, cause not everything is under gpl.
like some magiceyes special hardware drivers, those were made by magiceyes and are for sure only binary drivers.
so if you want to play with the kernel and bootloader or mplayer source,
do it. you can get the magiceyes kernel and bootloader of DJwillis site and the mplayer source or a part of it was allready released by gph if i remember correctly

EDIT: i have the mplayer source which was released by gph on my pc, if anyone wants it. the file is called gplayer.tar.gz
 
[...] Therefore I have two questions to the community here:

(1) Would anyone else with standing---ie an author of GPLed or LGPLed code included in the GP2X and associated materials---please contact me to coordinate.

(2) Does anyone happen to know the appropriate legal contact at GP2X.com. (I'm looking for phone number, FAX number, email, and physical address.)[...]

@(2) Gamepark Holdings displays this information on their gp2x.com website:
copyright.gif


English is not my native language so I might have misunderstood your request. But I am sure this is a point to start if it is not already the information you needed.

And my constructive suggestion would be that maybe this problem can be solved without any legal actions. I think it will be easy to get in contact with the people at GPH (one developer contacted me immediately after sending a question through the contact form on the korean page[1]). Hopefully talking to the persons in charge themselves will help to solve the current copyright problems without any harm to the copyright owners of the GPL sources and the GP2X producers.

If you are the Barak Pearlmutter google shows me then I am sure there will be a solution which makes all of us happy. Even me - although I am just the playing end user in this chain.

My personal opinion is that we do not have to fight about this topic on this forum. As there are not really constructive suggestions to the original question (including mine) it may be best if the responsible people do conversation on another medium.

Greetings,
Wolfgang


[1] If you do not speak korean you could translate each title with bablefish (which I did). Or you just enter your email address in every input field and the message into the large textarea at the bottom. They surely speak english.
 
Last edited by a moderator:
I really can't understand why these people are immediatley jumping on GPH's back over this. It's been said that people are working on getting it released, so what's all the moaning about. The only thing I see comming from people like barak_pearlmutter is long term damage or even destrution of a community thats barely started.

Curse slashdot for bringing all these types on top of us <_<

Lets see, on a machine running linux, which currently has a few bugs, why would we need developers like barak_pearlmutter? The problem with this situation is the people they want(read need) they are alienating.

@Cyclops:

A lawyer who's aware of all the issues and really wants to resolve the situation (eg someone from the FSF), yes. Some yahoo that only wants to collect loads of money and screw everyone else, no.

I think we are both on the same page. I was actually thinking of Bob Geldof, but FSF sounds good.
 
Last edited by a moderator:
Lets see, on a machine running linux, which currently has a few bugs, why would we need developers like barak_pearlmutter? The problem with this situation is the people they want(read need) they are alienating.

I wasn't saying that I didn't want good developers. What I was pointing out is that many people are ready to draw blood, when all they have to do is wait a bit until the problem is resolved.
 
Last edited by a moderator:
No.  There is nothing in the GNU GPL about an "official" release.  Or about a "release" at all, for that matter.  Distribution of GPLed software is in violation of copyright unless certain conditions are met.  These conditions mainly consist of making the corresponding source code easily available in one of several specified ways.

"Not an official release" is no excuse.  Try that with Microsoft: "we shipped a few hundred samples of a device that incorporates WinCE, but we were figuring you wouldn't mind since it is not an official release."  Yeah, right.

Most of us know the GPL issue and it has been discussed on several other threads. If you wish to make a big deal out of this even BEFORE the official release of the unit then by all means do so. You SURELY aren't helping anybody in doing so, just causing more headache to the community that are waiting for their units from the supplier. The GPL does NOT state that source HAS to be included with the unit, but rather that it MUST be produced upon request. Yes, people have requested, and then they are therefore in violation of the GPL. However, nobody sees the need to make a lawsuit against GPH yet.

My advice to you is to be patient. They WILL release the source code eventually.

The bottom line is you will not be helping anybody in bringing this to court/outside/etc...

And don't you dare discuss how immoral and unethical this all is when you're (more than likely) sitting there listening to pirated music.

*readies pie* :angry: :angry:
 
Last edited by a moderator:
However, nobody sees the need to make a lawsuit against GPH yet.

They WILL release the source code eventually.

The bottom line is you will not be helping anybody in bringing this to court/outside/etc...

I see the need. I want that need removed.

Why, When, What, How?

The bottom line is things will improve, for everybody. Relationships could suffer.
 
Last edited by a moderator:
There are two possibilities. Either GPH is well intentioned but is having teething troubles, or they are not well intentioned. By "well intentioned", I mean that they wish to comply with both the spirit and the letter of the GPL and other germaine free software licenses, and they wish to contribute their own code to the free software community and enjoy the many benefits thereof. By "not well intentioned", I mean that they wish to take free software but not contribute to it, will release source code only under duress and even then to the minimal extent possible, will attempt to conceal their use of free software and to claim credit for software written by others, and will basically try to use free software as if it were simply low-cost proprietary software.

When I unpacked one of the six GP2X units I bought for my lab, I found that the manual and packing materials contained no mention of linux, mplayer, etc. The software running on the device itself has a copyright splash screen (settings:info) which says:

Version 1.0
&copy; 2004-2005 Gamepark Holdings Co,Ltd. All rights reserved.

No mention anywhere that the vast bulk of the software on the device was written by others. No recognition that it can be legally distributed only with their permission. No credit given to the true authors. No pointers to relevant free software development communities.

As far as I can tell from the packaging, GPH would seem to be trying to pretend that the GP2X is running 100% proprietary software. In other words, whatever their true feelings, they are certainly *acting* as if they are not well intentioned.

Perhaps others have non-public information about GPH that contradicts the above. But based only on direct evidence, this looks like deliberate malfeasance on their part.

And yes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The user barak_pearlmutter on the www.gp32x.de forums is Barak A. Pearlmutter.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDhl0DLz4Gnv7CP7IRAjuwAKDOTxAmtRVE1NtuTtzHQzbFCBm+HwCeNWMQ
Dafg2grrTJ0Thc5tuxbM9lA=
=duvy
-----END PGP SIGNATURE-----
 
Last edited by a moderator:
Keep in mind that the executive team and marketing people are not the same people who do the development work and designed/built the console.

These people may be very much in understanding and favour of compliance with the GPL but have no say in the final presentation or marketing, and probablly no influence on the management and marketing teams at all.

To the people who wrote the manual and the front office who are getting spoken to about this, the whole 'GPL' thing is news to them most likely.

Having worked in software development and seeing the lack of communication between devs, QA, marketing and legal (hell, Scott Adams makes a career out of this stuff) I can imagine it's very much the same in Korea as in North America.
 
Don't know if GPH is big enough to have a marketing team... :p

It certainly looks like GPH isn't aware of what using GPLed code means and they have to be made aware before this ends in a desaster. However, it also looks like efforts are already being undertaken in this direction so I would suggest to give them some time.
 
As far as I can tell from the packaging, GPH would seem to be trying to pretend that the GP2X is running 100% proprietary software. In other words, whatever their true feelings, they are certainly *acting* as if they are not well intentioned.

First, let me begin by saying I'm not trying to belittle your concerns, merely trying to provide evidence that GPH is not trying to decieve anyone about the GP2x's software.

http://www.gp2x.com/product/product_spec.asp

Under "general", the OS is listed as Linux.

It's unfortunate (and indeed, infringing on the GPL) that the copywrite notices did not appear in the box or the hardware (I havn't recieved mine yet, I didn't know this). They probably were forgotten in the rush to get the units out the door.

While it only appears in a couple places in GPH's sites, if you look at many of the distributor sites, it's heavily advertised as being Linux based. GBAX ( www.gbax.com ) has a "Linux Inside" logo prominantly dispalyed in the bottom left corner, and both LikSang (www.liksang.com ) and GP32z ( www.gp32z.com ) list Linux as the OS in the main features section of the product information.

Finally, AFAIK, all the SDK's floating around for the device have been based largely off GPL software, with the licensing and copywrite notices intact.

GPH has made several serious errors in its use of GPL software, I admit. But I firmly believe that given a little time, they will come into full compliance with the GPL, and that legal action will not be necissary.

I understand that ultimately it is your choice (and of the others developers who have contributed to the code GPH is using), and fully respect that. I also understand your reluctance to give GPH the benefit of the doubt, as your rights have undoubtably been stomped on numorous times by corperations thinking they can get away with it. However, I have faith that GPH is not one of those, and that this whole mess will soon be resolved to everyone's mutual satisfaction.

And for what it's worth, I appriciate that you have brought an open, honest discussion of the matter to the community.

-OCA|
 
Last edited by a moderator:
To me, it looks and "feels" like Cyclops got sick of waiting for someone to see things his way and signed up as "barak_pearlmutter" to invent one, because he's too impatient to wait for the source.

Pushing the issue is only going to hurt consumer/GPH relations in the long run, and the Korean people are normally too polite to tell someone to "hold onto your jock, Jack". I on the other hand have NO problem telling it like I see it.

Desperation isn't a reason to start legal matters. I'd testify to that.
 
Just looks like it to me. Call me an idiot if you want, but the coicidence that "barak_pearlmutter" just joined, hasn't mentioned he has a GP2X, and this is the first post he makes when he gets here? No posts in any other threads, and makes this topic.

EDIT: My mistake, he has a handful of units.
 
LOL, yeah that right, you've got me.

I think if you search there are rather a lot of people interested in the source and believe they should already have it. The inevitable happened and someone, who isn't a armchair GPL activist, or part time linux user, but someone who has just cause, to be less than happy created a topic.

I hope good things come of this topic.
 
To me, it looks and "feels" like Cyclops got sick of waiting for someone to see things his way and signed up as "barak_pearlmutter" to invent one, because he's too impatient to wait for the source.

Pushing the issue is only going to hurt consumer/GPH relations in the long run, and the Korean people are normally too polite to tell someone to "hold onto your jock, Jack". I on the other hand have NO problem telling it like I see it.

Desperation isn't a reason to start legal matters. I'd testify to that.

/* An exceprt from CREDITS - released with every linux kernel */

This is at least a partial credits-file of people that have
contributed to the Linux project. It is sorted by name and
formatted to allow easy grepping and beautification by
scripts. The fields are: name (N), email (E), web-address
(W), PGP key ID and fingerprint (P), description (D), and
snail-mail address (S).
Thanks,

Linus
----------



N: Barak A. Pearlmutter
E: bap@cs.unm.edu
W: http://www.cs.unm.edu/~bap/
P: 512/602D785D 9B A1 83 CD EE CB AD 93 20 C6 4C B7 F5 E9 60 D4
D: Author of mark-and-sweep GC integrated by Alan Cox
S: Computer Science Department
S: FEC 313
S: University of New Mexico
S: Albuquerque, New Mexico 87131
S: USA


/* The source Barak Pearlmutter contributed to linux */

/*
* NET3: Garbage Collector For AF_UNIX sockets
*
* Garbage Collector:
* Copyright &copy; Barak A. Pearlmutter.
* Released under the GPL version 2 or later.
*
* Chopped about by Alan Cox 22/3/96 to make it fit the AF_UNIX socket problem.
* If it doesn't work blame me, it worked when Barak sent it.
*
* Assumptions:
*
* - object w/ a bit
* - free list
*
* Current optimizations:
*
* - explicit stack instead of recursion
* - tail recurse on first born instead of immediate push/pop
* - we gather the stuff that should not be killed into tree
* and stack is just a path from root to the current pointer.
*
* Future optimizations:
*
* - don't just push entire root set; process in place
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*
* Fixes:
* Alan Cox 07 Sept 1997 Vmalloc internal stack as needed.
* Cope with changing max_files.
* Al Viro 11 Oct 1998
* Graph may have cycles. That is, we can send the descriptor
* of foo to bar and vice versa. Current code chokes on that.
* Fix: move SCM_RIGHTS ones into the separate list and then
* skb_free() them all instead of doing explicit fput's.
* Another problem: since fput() may block somebody may
* create a new unix_socket when we are in the middle of sweep
* phase. Fix: revert the logic wrt MARKED. Mark everything
* upon the beginning and unmark non-junk ones.
*
* [12 Oct 1998] AAARGH! New code purges all SCM_RIGHTS
* sent to connect()'ed but still not accept()'ed sockets.
* Fixed. Old code had slightly different problem here:
* extra fput() in situation when we passed the descriptor via
* such socket and closed it (descriptor). That would happen on
* each unix_gc() until the accept(). Since the struct file in
* question would go to the free list and might be reused...
* That might be the reason of random oopses on filp_close()
* in unrelated processes.
*
* AV 28 Feb 1999
* Kill the explicit allocation of stack. Now we keep the tree
* with root in dummy + pointer (gc_current) to one of the nodes.
* Stack is represented as path from gc_current to dummy. Unmark
* now means "add to tree". Push == "make it a son of gc_current".
* Pop == "move gc_current to parent". We keep only pointers to
* parents (->gc_tree).
* AV 1 Mar 1999
* Damn. Added missing check for ->dead in listen queues scanning.
*
*/

#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/string.h>
#include <linux/socket.h>
#include <linux/un.h>
#include <linux/net.h>
#include <linux/fs.h>
#include <linux/slab.h>
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include <linux/file.h>
#include <linux/proc_fs.h>
#include <linux/tcp.h>

#include <net/sock.h>
#include <net/af_unix.h>
#include <net/scm.h>

/* Internal data structures and random procedures: */

#define GC_HEAD ((unix_socket *)(-1))
#define GC_ORPHAN ((unix_socket *)(-3))

static unix_socket *gc_current=GC_HEAD; /* stack of objects to mark */

atomic_t unix_tot_inflight = ATOMIC_INIT(0);


extern inline unix_socket *unix_get_socket(struct file *filp)
{
unix_socket * u_sock = NULL;
struct inode *inode = filp->f_dentry->d_inode;

/*
* Socket ?
*/
if (inode->i_sock) {
struct socket * sock = &inode->u.socket_i;
struct sock * s = sock->sk;

/*
* PF_UNIX ?
*/
if (s && sock->ops && sock->ops->family == PF_UNIX)
u_sock = s;
}
return u_sock;
}

/*
* Keep the number of times in flight count for the file
* descriptor if it is for an AF_UNIX socket.
*/

void unix_inflight(struct file *fp)
{
unix_socket *s=unix_get_socket(fp);
if(s) {
atomic_inc(&s->protinfo.af_unix.inflight);
atomic_inc(&unix_tot_inflight);
}
}

void unix_notinflight(struct file *fp)
{
unix_socket *s=unix_get_socket(fp);
if(s) {
atomic_dec(&s->protinfo.af_unix.inflight);
atomic_dec(&unix_tot_inflight);
}
}


/*
* Garbage Collector Support Functions
*/

extern inline unix_socket *pop_stack(void)
{
unix_socket *p=gc_current;
gc_current = p->protinfo.af_unix.gc_tree;
return p;
}

extern inline int empty_stack(void)
{
return gc_current == GC_HEAD;
}

extern inline void maybe_unmark_and_push(unix_socket *x)
{
if (x->protinfo.af_unix.gc_tree != GC_ORPHAN)
return;
sock_hold(x);
x->protinfo.af_unix.gc_tree = gc_current;
gc_current = x;
}


/* The external entry point: unix_gc() */

void unix_gc(void)
{
static DECLARE_MUTEX(unix_gc_sem);
int i;
unix_socket *s;
struct sk_buff_head hitlist;
struct sk_buff *skb;

/*
* Avoid a recursive GC.
*/

if (down_trylock(&unix_gc_sem))
return;

read_lock(&unix_table_lock);

forall_unix_sockets(i, s)
{
s->protinfo.af_unix.gc_tree=GC_ORPHAN;
}
/*
* Everything is now marked
*/

/* Invariant to be maintained:
- everything unmarked is either:
-- (a) on the stack, or
-- (B) has all of its children unmarked
- everything on the stack is always unmarked
- nothing is ever pushed onto the stack twice, because:
-- nothing previously unmarked is ever pushed on the stack
*/

/*
* Push root set
*/

forall_unix_sockets(i, s)
{
int open_count = 0;

/*
* If all instances of the descriptor are not
* in flight we are in use.
*
* Special case: when socket s is embrion, it may be
* hashed but still not in queue of listening socket.
* In this case (see unix_create1()) we set artificial
* negative inflight counter to close race window.
* It is trick of course and dirty one.
*/
if(s->socket && s->socket->file)
open_count = file_count(s->socket->file);
if (open_count > atomic_read(&s->protinfo.af_unix.inflight))
maybe_unmark_and_push(s);
}

/*
* Mark phase
*/

while (!empty_stack())
{
unix_socket *x = pop_stack();
unix_socket *sk;

spin_lock(&x->receive_queue.lock);
skb=skb_peek(&x->receive_queue);

/*
* Loop through all but first born
*/

while(skb && skb != (struct sk_buff *)&x->receive_queue)
{
/*
* Do we have file descriptors ?
*/
if(UNIXCB(skb).fp)
{
/*
* Process the descriptors of this socket
*/
int nfd=UNIXCB(skb).fp->count;
struct file **fp = UNIXCB(skb).fp->fp;
while(nfd--)
{
/*
* Get the socket the fd matches if
* it indeed does so
*/
if((sk=unix_get_socket(*fp++))!=NULL)
{
maybe_unmark_and_push(sk);
}
}
}
/* We have to scan not-yet-accepted ones too */
if (x->state == TCP_LISTEN) {
maybe_unmark_and_push(skb->sk);
}
skb=skb->next;
}
spin_unlock(&x->receive_queue.lock);
sock_put(x);
}

skb_queue_head_init(&hitlist);

forall_unix_sockets(i, s)
{
if (s->protinfo.af_unix.gc_tree == GC_ORPHAN)
{
struct sk_buff *nextsk;
spin_lock(&s->receive_queue.lock);
skb=skb_peek(&s->receive_queue);
while(skb && skb != (struct sk_buff *)&s->receive_queue)
{
nextsk=skb->next;
/*
* Do we have file descriptors ?
*/
if(UNIXCB(skb).fp)
{
__skb_unlink(skb, skb->list);
__skb_queue_tail(&hitlist,skb);
}
skb=nextsk;
}
spin_unlock(&s->receive_queue.lock);
}
s->protinfo.af_unix.gc_tree = GC_ORPHAN;
}
read_unlock(&unix_table_lock);

/*
* Here we are. Hitlist is filled. Die.
*/

__skb_queue_purge(&hitlist);
up(&unix_gc_sem);
}

Cyclops did NOT invent this person, and he does have standing.
Instead of spouting stupidities, we should welcome him to the community. Period.
 
Last edited by a moderator:
I didn't say no one is interested in the source. I wouldn't mind knowing what's in it, honestly. I'm just saying we shouldn't FORCE them to release it before it's in a state where Intellectual Property is protected, DRM is intamperable and makers of competitive products cannot gain anything you'd not get from any handheld linux kernel. I can understand what you want, and I can see you're frustrated, but if GPH decides the 2X is more hassle than it's worth, I can see them selling off the stock to liquidators, pulling all the support for future upgrades, perhaps even cancelling further productions or future advancements/newer types of systems.

I see this kind of action can only be harmful to a fledgeling company, who've done nothing but be friendly and try to answer every asinine question we've thrown at them.

EDIT: And I didn't say Barak Pearlmutter wasn't a real person. Just saying it looked like he created an account with the name here to post this one topic
 
So basically there's two things we all want, namely GPH to release the source, and GPH not to die, especially considering how nice they've been about the GP2x in the development stage.

Personally, I have a great deal of faith in DJWillis, simply because he managed to get MagicEyes to release everything they'd done for the chip in the way of Linux and driver sources - which I thought was less likely than GPH releasing it covertly, tbh. I suspect GPH simply don't understand the implications of the GPL in general (whilst over half of their target audience *will*, of course), and will, hopefully soon, get round to releasing the sources.

I can see where Barak is coming from though, in terms of the copyright notices and intention to act in the spirit and letter of the GPL... perhaps a show of good faith (assuming they don't manage to get the dources out before then) might be to change them ASAP in the next firmware update - say, add an option in the info bit of settings to press L to read the GPL and an extended (more accurate) copyright notice?

To me the MOST important thing is that the GP2x gets the start it deserves, but I plan to be an end user, not a dev'r (at least, not in any meaningful sense), so that would tend to be the case. As such, I'd, in all honesty, prefer to see GPH survive and the source not get released than see the source released and GPH die the death of not hiring enough lawyers. But that doesn't mean I can't see where those who would like the source are coming from.

Oh, and to Winterkid, just read their posts... the language they use is *completely* different; Cyclops seems to speak a lot more informally, whilst Barak is someone who posts a PGP key at the bottom of his sig and uses legal jargon that I doubt Cyclops has come across (lord knows I hadn't).
 
I didn't say no one is interested in the source. I wouldn't mind knowing what's in it, honestly. I'm just saying we shouldn't FORCE them to release it before it's in a state where Intellectual Property is protected, DRM is intamperable and makers of competitive products cannot gain anything you'd not get from any handheld linux kernel. I can understand what you want, and I can see you're frustrated, but if GPH decides the 2X is more hassle than it's worth, I can see them selling off the stock to liquidators, pulling all the support for future upgrades, perhaps even cancelling further productions or future advancements/newer types of systems.

I see this kind of action can only be harmful to a fledgeling company, who've done nothing but be friendly and try to answer every asinine question we've thrown at them.

EDIT: And I didn't say Barak Pearlmutter wasn't a real person. Just saying it looked like he created an account with the name here to post this one topic

Did you go the the website listed in the second quote, Barak Pearlmutter is not only a real person, he would make a valuable member of this community.

Sometimes, it pays to do your homework before you speak.
 
Last edited by a moderator:
Back
Top