albanc
Senior Newbie 
|
 |
«
Posted
2003-05-21 14:29:30 » |
|
Today, we are proud to bring a new release of the OpenMind open source scenegraph for GL4Java featuring first MacOSX support. This new release also brings better compatibility with old graphic adapters, and above all features the first release of AL4Java, a Java binding to the OpenAL cross-platform 3D sound library that was brought by Pepijn Van Eeckhoudt. As usual, OpenMind can be downloaded from http://www.mind2machine.comAL4Java official website can be found at http://al4java.sourceforge.netEnjoy ! Alban CousiniƩ MIND2MACHINE
|
|
|
|
|
leknor
|
 |
«
Reply #1 - Posted
2003-05-21 15:08:05 » |
|
I personally don't care but there is another project named OpenMind that's been around since at least 1998. You may want to qualify the name of your project a little more to something like "OpenMind 3D" to prevent confusion.
|
|
|
|
|
princec
|
 |
«
Reply #2 - Posted
2003-05-21 16:49:54 » |
|
Pepijn Van Eeckhoudt is in deep shit. When I get my hands on his scrawny neck I'm going to print out the sourcecode to LWJGL on HP Premium Inkjet paper and make him eat the lot. Cas 
|
|
|
|
Games published by our own members! Check 'em out!
|
|
albanc
Senior Newbie 
|
 |
«
Reply #3 - Posted
2003-05-21 18:05:42 » |
|
Hi Cas,
I'm not responsible for AL4Java, I've just included the library to OpenMind. From what I know, it was written from scratch, but maybe Pepijn got some inspiration from LWJGL, as we've all been inspired from some source code some day for acheiving a difficult task...and I guess that's what open source is about.
Anyway if it'd be the case, I'd feel really sorry about it. If you find some irregularities about the code, copyright statements and credits, I'm pretty sure we can discuss this with Pepijn.
Alban
|
|
|
|
|
Matzon
|
 |
«
Reply #4 - Posted
2003-05-21 18:27:32 » |
|
From what I know, it was written from scratch, but maybe Pepijn got some inspiration from LWJGL Let's just say that he copied the code from LWJGL, which invalidates his license to use LWJGL, and redistribute AL4Java. * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. The LWJGL team has *nothing* against people using the LWJGL source code - this is why we're using the BSD license - but we don't like it when people take existing code, fiddle a bit with it - and then remove the license, pasting in another! and I guess that's what open source is about 100% with you there - but in the spirit of opensource, one also gives credit, where credit is due! Where it not for the WaveData class which is used in the source library, no mention of LWJGL is in the source drop - or even on the website. I just feel that doing this kind of **** sucks bigtime! Hopefully this can be resolved ASAP though
|
|
|
|
leknor
|
 |
«
Reply #5 - Posted
2003-05-21 19:12:03 » |
|
Could the LWJGL guys point to specific code lifting?
I spot checked the source for al4java and LWJGL OpenAL and I didn't see any code that looked lifted.
|
|
|
|
|
cfmdobbie
|
 |
«
Reply #6 - Posted
2003-05-21 20:10:24 » |
|
Could the LWJGL guys point to specific code lifting?
I spot checked the source for al4java and LWJGL OpenAL and I didn't see any code that looked lifted. Well, all error checking is removed, several files are collapsed into a single file etc - it seems to have been a phenomenal amount of work?  More likely that he'd been working on the same project and used LWJGL to finish a few bits off. However, with that said, here's a good example for you: From al4java_AL.c: 1 2 3 4 5 6 7 8 9 10 11
| JNIEXPORT void JNICALL Java_al4java_AL_alHint (JNIEnv *env, jclass clazz, jint target, jint mode) { return; }
|
From org_lwjgl_openal_CoreAL.cpp: 1 2 3 4 5 6 7 8 9 10 11
| JNIEXPORT void JNICALL Java_org_lwjgl_openal_CoreAL_hint (JNIEnv *env, jobject obj, jint target, jint mode) { return; }
|
When one library is comment-compatible with another, there's something funny going on! 
|
Hellomynameis Charlie Dobbie.
|
|
|
Matzon
|
 |
«
Reply #7 - Posted
2003-05-21 20:15:50 » |
|
Here's one: original: 1 2 3 4 5 6 7
| public static final int AL_INVALID_OPERATION =0xA004;
|
his version: 1 2 3 4 5 6 7
| public static final int AL_INVALID_OPERATION =0xA004;
|
Notice that the comments are formatted wrong, just as it is in ours - this has been fixed in 0.6 , but this clearly shows that he has ripped from a pre 0.6 version. This one of the vaguest of the hints - there are more convincing... but I am pretty sure that 'Pepijn Van Eeckhoudt' won't be denying the facts.
|
|
|
|
Mojomonkey
|
 |
«
Reply #8 - Posted
2003-05-21 20:22:36 » |
|
He does mention LWJGL on his credits page:
"Credits LWJGL The "Lightweight Java Game Library" project created the first OpenAL binding for Java. I personally do not like the way in which this library exposes pointers to Java code, which is the main reason why I started writing my own binding. LWJGL also provides several utility classes for laoding audio data in Java. The class that loads wave files is currently used in the al4java sample apllications. "
|
Don't send a man to do a monkey's work.
|
|
|
Matzon
|
 |
«
Reply #9 - Posted
2003-05-21 20:36:13 » |
|
yes, now he does 
|
|
|
|
Games published by our own members! Check 'em out!
|
|
leknor
|
 |
«
Reply #10 - Posted
2003-05-21 20:38:48 » |
|
Ok, I guess my spots wen't big enough.
|
|
|
|
|
Matzon
|
 |
«
Reply #11 - Posted
2003-05-21 20:42:09 » |
|
anyhow - let's make this thread die down, till we've actually heard from him!
... emailing ...
|
|
|
|
pepijnve
Junior Member  
Java games rock!
|
 |
«
Reply #12 - Posted
2003-05-21 21:17:07 » |
|
Alban mailed me about this thread, saying I should check it out. So here I am in front of the firing squad  First of all here's a copy of the reply I sent to Alban. Well I guess there are two problems: - The WaveData class is theirs. The license/copyright notice is still in the source file. I don't think I have to add their license in the binary packages since these don't contain the sample applications or the WaveData class. If they do then that's my mistake and I'll remove those classes. - I started coding the c files using their c file to save me some tedious typing work. I implemented each method myself, but I forgot to remove their documentation (which I have now just done, again my mistake). The documentation in the c code is (to me) completely unnecessary. I guess this second point requires me to add their license, since very strictly speaking I did use their source code. How should I do this? Should my source code then contain two copyright notices? The method implementations are mine, the method signatures are very similar to theirs (not that I have any choice there since OpenAL is a standard  ). I stripped the documentation (sorry bout that) so that should be a non issue. Correct me if I'm wrong on any of my assumptions... About the lifted code. The alHint thing is still a remainder from the original c file, which I forgot to get rid of. (Still haven't figured out why this method is missing in the headers btw, since it is in the spec) The comments in the AL(C)Enum classes are just retained from the original al(c)types.h file, so I guess the lwjgl developers just copied those comments like I did... About the method implementations, I guess that's a case of their word against mine. I'll add the copyright notice and license if you want. Could somebody tell me how I should do this from a practical point of view. Ie how do I make a distinction between what is copyright lwjgl and what is copyright me?
|
|
|
|
|
princec
|
 |
«
Reply #13 - Posted
2003-05-21 22:45:32 » |
|
It's dead easy; if you've got the work of others all over the place and you know where it's come from, just put the credit in where it's due. That's how open source works. It's very little to ask and not doing it is credibility suicide. Cas 
|
|
|
|
pepijnve
Junior Member  
Java games rock!
|
 |
«
Reply #14 - Posted
2003-05-21 22:52:35 » |
|
Agreed, but where is it still due in the end? Are you insisting I put a copyright notice around the alHint comment (which I've deleted in the mean time). Your copyright notice is still in place in the class that is yours (WaveData), but I don't see why I should feel obliged to put your copyright notice in classes that I've written myself.
|
|
|
|
|
princec
|
 |
«
Reply #15 - Posted
2003-05-21 23:20:38 » |
|
No, all you've got to do is follow these instructions found at the top of any LWJGL file you've used: * Copyright (c) 2002 Light Weight Java Game Library Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of 'Light Weight Java Game Library' nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. In other words, just add that notice to the top of files which are sourced in whole or part from LWJGL. It only applies to used or modified LWJGL code, not yours. You are entirely free to append the LGPL license and apply it to your own code even within the same file. (Sorry about blowing my top earlier, it was a bad day) Cas 
|
|
|
|
pepijnve
Junior Member  
Java games rock!
|
 |
«
Reply #16 - Posted
2003-05-21 23:42:19 » |
|
In my opinion the current status of the library doesn't violate your license. The copyright and license is in place in the one class I actually reused and modified (WaveData) from lwjgl. Should I, in your opinion, add the license anywhere else?
|
|
|
|
|
Matzon
|
 |
«
Reply #17 - Posted
2003-05-22 05:24:50 » |
|
IMO: Add the license file to the binary/source drop Add the license to *any* files containing source from LWJGL Basically, since you did use LWJGL parts, I would add this to a credits part "...Parts copyright LWJGL..." As far as I can tell, at least the following files have sourcecode from LWJGL (but you would know best...): al4java_ALC.c al4java_AL.c WaveData.java (fine already) and most important - respect the work of others forthward on 
|
|
|
|
pepijnve
Junior Member  
Java games rock!
|
 |
«
Reply #18 - Posted
2003-05-22 07:21:30 » |
|
For the source package: The license says to leave the copyright/license in the source file so that's already ok For the binary packages: These don't contain the sample code (including WaveData) so no copyright/license required here al(c).c that's another question. I guess it depends on how strictly you want to apply the license. I did start from the lwjgl source file (as I already mentioned in my first post) but in the end I had to rewrite each method implementation to be strict c code and because I use arrays instead of direct pointers. The question is then if the copyright/license still applies if you rewrite the entire source file. I don't think you can claim copyright on the method signatures since these are machine generated  IANAL so correct me if I'm wrong here. Anyway, if it keeps everybody happy I'll add the copyright/license to those two files as well tonight when I get home from work.
|
|
|
|
|
|
|
Matzon
|
 |
«
Reply #20 - Posted
2003-05-22 12:06:44 » |
|
Yeah, that'd be fine - afaik - as long as credit is placed where it is due - then everything should be fine! /me goes off to investigate al4Java's performance 
|
|
|
|
pepijnve
Junior Member  
Java games rock!
|
 |
«
Reply #21 - Posted
2003-05-23 07:26:27 » |
|
I've made the necessary changes in the source code. I can't seem to log in to the sourceforge cvs server for the moment, so those changes will have to wait a little bit longer. I've been working on a rewrite from scratch of the two affected c files to avoid any further license troubles. On the performance question, al4java will probably be slower than the lwjgl implementation. I've used GetPrimitiveArrayCritical, which should avoid copying as much as possible, but this is not guaranteed. However, I prefer that overhead over exposing pointers. I could probably add nio support to the code to get more or less the same results as the lwjgl version, but first I'm going to finish my rewrite 
|
|
|
|
|
pepijnve
Junior Member  
Java games rock!
|
 |
«
Reply #22 - Posted
2003-05-23 22:58:56 » |
|
Just a quick note to let you guys know I finished a 'clean' version of al4java. The two c files have been rewritten from scratch, so no more saying I stole your code 
|
|
|
|
|
Matzon
|
 |
«
Reply #23 - Posted
2003-05-23 23:34:19 » |
|
so no more saying I stole your code No one ever said anything about stealing the code! The problem was that you claimed that you have written it! What baffles me, is that you rewrote it  - I would just have slapped on a license and get on with my life... Oh well - not my time used  On a totally unrelated note - "Tree Branches for Mozilla 1.4" *woot*
|
|
|
|
|