Main Menu

Open source

Started by guiloic, June 13, 2006, 04:30:01 PM

Previous topic - Next topic

guiloic

jPCT is free and develloped with Java. I can't understand why it's not distributed as open source library.:roll:

What's your explanation ?

EgonOlsen

Quote from: "guiloic"I can't understand why it's not distributed as open source library.
Because i don't want it to be one. Usually, small open source projects (and a 3d engine for Java doesn't attract as many people as Apache.org, so this IS a small project in terms of interested users) are usually maintained by only 1-2 core developer(s) anyway. So, from open sourcing it, what would be the "gain"?

a) People may change parts of the sources on their own. That's fine as long as you can make sure that you develop your personal branch from there on and never touch an official release again or that you can at least do a merge with updated sources from the official branch. But that's a decision that you have to make on your own...i don't care for both. What i do care for, is that it requires additional support from my side. Now i have to support the API, then i would have to support the sources too.

b) People may contribute to the project...to be honest, i doubt that this will happen to a large degree. People do a lot of talking about how great OS is and that you can contribute and learn from it and whatever. But usually, talking is all they do. And even if they would be willing to contribute, someone (and that would be me again) would have to check their contributions and offer support to the contributers AND to the users of these contributions. Or you'll end up with a situation, where some packages are simply broken and won't be fixed, because no one feels responsable for them anymore.

c) Programmers like to code but hate to document the code. So you either end up with a documentation of very different quality or with no documentation at all for some classes.

There are some other small points, but to come to an end: Open sourcing a project thats target audience is rather limited costs more than it gives IMHO. jPCT is written for people who don't want to care much about the internals of 3D and who simply want to drop a new version into their /lib directory and have it working. It's not written for programmers who want to work on it for the sake of it.

If you want to contribute, jPCT offers enough hooks into its structures to do this without the full source code IMO.

guiloic

Open source doesn't means that every coders contribute to your project. Open source means that every one can use your work and apply modification according to it's own need. It's quite different...

It exist a lot of licence and I'm sure that you can find one which can be applied to your project according to your need. But you do what what you want...

I think it's too bad but jPCT was my first 3d experience and I will never forget your help in the past...

Bye !

EgonOlsen

Quote from: "guiloic"Open source doesn't means that every coders contribute to your project. Open source means that every one can use your work and apply modification according to it's own need. It's quite different...
That's what i had written under a)... :wink:

guiloic

ok.

QuotejPCT is written for people who don't want to care much about the internals of 3D

me -----> [EXIT]

manumoi

It is the project of Egon, so he can deal with it as he desires :? .
He is already keen enough to release very frequent updates depending on our needs. :P

People can also decide to deal with LWJGL if they have their own specific objective (and it will be a good way to learn everything related to 3D programming) :lol:

However, maybe it is time now to discuss about making some sort of tutorial with short "how to" and pieces of code with comments for basics (I know it is not the same problem than the one enounced in this thread). When reading the forum daily  it is obvious that similar questions appear frequently... maybe starting by determining the table of contents for such tutorial would be a good first step? :?:
[NB: I will be out for 2 weeks but i can be fully part of that after this period] :

cyberkilla

I totally agree with this.

Another problem, which I didnt notice here, is people downloading the source, changing the name, and either selling it, which is not nice,
or taking credit, which is bad enough:).

Fantastic job. It has saved me from certain doom;).

The software rendering is the best part, although, since you have
wrappers for opengl, I think i really should try to implement them.

Perhaps the applet version of my game can use software only, and the
java webstart, and standalone can have opengl option.

Ive heard of reflection, and other tricks to load dlls and packages,
but this new Vista has put a stop to all of this, with its stupid IE7 virtualisation.
http://futurerp.net - Text Based MMORPG
http://beta.rpwar.com - 3D Isometric MMORPG

raft

Egon,

i understand and appreciate all of the reasons that you dont make jPCT an open source project. however i guess it will be quite nice and beneficial for almost all if you give the source code without making jPCT an open source project.

that case will be free of possible problems that you concern about an open source project. and it will be effectively a guide, a reference point and a tutorial. afterall jPCT is the best 3d engine for java regarding its capabilities, small footprint and 1.1 compliance (IMHO)

sure, you may have been worried about some <bad> guys who may modify, rename, publish and maybe resell your code and steal your credits for your master piece. but isnt that already possible ? those <bad> guys can still decompile and serve your code in a different package, arent they ? you dont use any guards like obfuscation etc..

so in short, if you dont expect any commercial benefits from jPCT you may seriously think of sharing the source code without making jPCT an open source project.

that's just what i think
r a f t

dear_stephen

Quotea) People may change parts of the sources on their own...

In order to do this one must first have the code. In the license it states that one may not decompile the code. I don't wish to change the code but I would love to read it to see how JPCT works. I find this a great way of learing a new library.

I have just started using JPCT having used processing for a long time (open source) and am very impressed by its quality. Could you please just place the code somewhere for download. As stated about this doesn't have to change any of the points you have mentioned.

Thanks for the great work!





EgonOlsen

No, i won't. The license is like it is for a reason and so is the fact that the sources are not public. I'll leave it at that and i hope to be able to put an end to this discussion...finally. If you want to learn how the API works, look at the examples and/or the Paradroidz' sources (http://www.jpct.net/download/paradroidz_src.zip). As you can see, i'm not against open sourcing things. I just won't do this with jPCT.

Melssj5

or decompile the code!!!  :o :o :o  ;D ;D ;D  :P :P :P just kidding!
Nada por ahora

cyberkilla

Has anyone actually tried to reverse-engineer a program? :D

You rarely get the symbols, variable names, etc, in the right order.

Java is probably one of the few languages where you can retrieve such things

I really doubt the structure of the original source, and certainly not comments,
could be retrieved.

It would be a long, long project in itself.
http://futurerp.net - Text Based MMORPG
http://beta.rpwar.com - 3D Isometric MMORPG

EgonOlsen

Quote from: cyberkilla on March 30, 2007, 08:16:52 PM
Has anyone actually tried to reverse-engineer a program? :D
Yes, the oracle jdbc-driver to find a deadlock problem and to convince my boss to pay for a third party driver, which "just works".

cyberkilla

#13
 Very nice:D.

I once disassembled a boot sector to see how it worked.
It is interesting. The Microsoft boot sector is one hell of a hack. There are a few documents about it hanging around now.
The other thing I once tried was to disassemble a program, and, along with a hex editor, disable a 'trial version' warning on a program.
It was a special program built only for this purpose, so I do not feel guilty ;) It is hardly something that would keep me up at night anyway, but worth pointing out :D

It is a learning experience. I intend to return to this at some point, because my recollection is beginning to get cloudy, at most :)

EDIT:
Also, at the end of the day, the things involved in making this 3d engine/api are in the public domain.
They are spread far and wide, and require someone to have the patience to grasp a clear understanding of them.

This project is a long one. It has clearly been brought to the stage it is at by patience, and knowledge.

I have absolutely no problem with you keeping it to yourself. It is yours. You worked for it. You're releasing it with a brilliant license, so that everyone may benefit from it's existence.
Releasing source code on this project will certainly result in 'forks'.
It will certainly facilitate the creation of a handful of propriety 3d engines.

I see no harm in someone wanting to keep the benefits, control, and attention of a community of people, as an effect of several years of effort.

We all know that the source code would only really be used to augment other projects, of varying levels of 'free',
and also provide an easier solution to add software rendering to other api's.

What I am trying to say is, there is no gain from releasing source code for JPCT itself.
And, as a final note, I have never seen a sensible question go unanswered.

If somebody wants to work hard, and find things out, they can.
But nothing like this needs to be handed on a plate.]

On the other hand, I like free software. It is nice that there are things that are released without any warranty, to the general public.
There appears to be a niche here, with this engine. However, the community is not, as we all know, anywhere near that of openoffice, or firefox, or filezilla, or ogre, etc.
It would be hit by more people exploiting than helping, as I have heard several times.

Also, to keep it in his hands, Egon would need to keep the main source tree himself, and answer queries, and monitor the cvs system. Why?  :o
http://futurerp.net - Text Based MMORPG
http://beta.rpwar.com - 3D Isometric MMORPG

halcor

And I once disassembled and studied parts of omniscent, an impressive 4k demo:
http://www.pouet.net/prod.php?which=482

because it is really awesome and I'm a fan of descent :)