Is it time to fork Celestia?

The place to discuss creating, porting and modifying Celestia's source code.

Is it time to fork Celestia?

Yes
8
24%
No
12
36%
Never
9
27%
Don't know
4
12%
 
Total votes: 33

hjw
Posts: 66
Joined: 02.02.2004
With us: 20 years 5 months
Location: Schwabach/Germany

Post #21by hjw » 26.04.2005, 06:14

If you want to fork Celestia, this is fine by me, but show us the code, otherwise this is just vapor.


Christophe, everybody so far stated, sometimes with many words, that forking makes no sense. Or am I missing something?

Gerbil94
Posts: 12
Joined: 26.04.2005
With us: 19 years 2 months
Location: Manchester, UK

Post #22by Gerbil94 » 26.04.2005, 14:48

t00fri wrote: Other similar or related programs are trying to catch up, both at the open source and the commercial front. Take 'Stellarium' for example or 'Kstars' (Linux KDE). Although these programs are still relatively young, one can smell already the inherent upcoming potential and professional level development...


Is that a serious concern? Those examples appear to be strictly 2D starmaps (well, skymaps). Even the Redshift series wasn't competition for Celestia, so I don't see why these would be. The only plausible commercial competition Celestia has seems to be StarStrider, and even that appears relatively moribund at present.

I don't think there is any serious open source competition at present, or at least, a vast majority of similar open source software is unmaintained and/or nowhere near Celestia's scope (or so it seems from the sites linked to on Winchell Chung's list).

Probably the main thing to worry about is getting a "spare" OpenGL coder, not the competition!

Topic author
Slalomsk8er
Posts: 128
Joined: 26.07.2004
With us: 19 years 11 months
Location: Earth 7.593358long / 47.582393lat
Contact:

Post #23by Slalomsk8er » 26.04.2005, 20:32

Does StarStrider use Celestia code? It looks similar but it is hard to tell if they use Celestia code and brake the GPL.

It looks like they are in just one thing better then Celestia, anaglyph 3D output!
ASUS A7N8X Deluxe
AMD Athlon XP 2800+ (2.08GHz)
1GB DDR RAM 333MHz
NVIDIA GeForce FX 5600 AGP 8X

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 3 months
Location: Hamburg, Germany

Post #24by t00fri » 26.04.2005, 20:55

Gerbil94 wrote:
t00fri wrote: Other similar or related programs are trying to catch up, both at the open source and the commercial front. Take 'Stellarium' for example or 'Kstars' (Linux KDE). Although these programs are still relatively young, one can smell already the inherent upcoming potential and professional level development...

Is that a serious concern? Those examples appear to be strictly 2D starmaps (well, skymaps). Even the Redshift series wasn't competition for Celestia, so I don't see why these would be. The only plausible commercial competition Celestia has seems to be StarStrider, and even that appears relatively moribund at present.

I don't think there is any serious open source competition at present, or at least, a vast majority of similar open source software is unmaintained and/or nowhere near Celestia's scope (or so it seems from the sites linked to on Winchell Chung's list).

Probably the main thing to worry about is getting a "spare" OpenGL coder, not the competition!


I think you took my argument far too literally. Certainly, Stellarium or Kstars are /earthbound/ planetarium programs and Celestia is not earthbound. But Stellarium already uses very beautiful OpenGL 3d rendering along with some cute ideas (eye candy). The real competition is in the celestial mechanics engine, the heart of the program so to speak. Here the concepts are very much related. Actually many respective routines from Stellarium were copied from Celestia according to the author.

What I am arguing since a long time is that new advanced concepts like wavelength filters and Cosmo-Celestia can only be incorporated into similar kinds of software if the authors have a fairly deep knowledge of general relativity, cosmology and astrophysics. Some "spare OpenGL coder" abilities wont suffice here by far! Moreover filters and conformal mapping of the entire Universe are highly fashionable, instructive and well-motivated concepts...

On the contrary, VSOP87 orbits with hundreds of expansion terms/planet can simply be downloaded from a central server in various computer languages. Not much understanding of how VSOP87 works is needed to get super-accurate orbits nowadays. Soon or later every astronomy program will use VSOP87 orbits...That's what I mean with "catching up". If you examine Stellarium you notice that its author is mastering OpenGL 3d rendering /very well/ indeed.

I agree that Celestia is still the best. But more programs with good openGL environments are quickly growing. It's easy to extrapolate, given Celestia's stagnation.

Bye Fridger

Evil Dr Ganymede
Posts: 1386
Joined: 06.06.2003
With us: 21 years

Post #25by Evil Dr Ganymede » 27.04.2005, 05:15

Slalomsk8er wrote:Does StarStrider use Celestia code? It looks similar but it is hard to tell if they use Celestia code and brake the GPL.

It looks like they are in just one thing better then Celestia, anaglyph 3D output!


Don't think it does - it's just parallel development producing things that look a bit similar I think. Convergent evolution and all that.

Paolo
Posts: 502
Joined: 23.09.2002
With us: 21 years 9 months
Location: Pordenone/Italy

Post #26by Paolo » 27.04.2005, 11:44

Many ideas as usual.... Concrete things not much.

Are a few months that in the Users Forum there is a contest for the most beautiful Celestia image of the month.

So why don't we start a contest in the development forum in order to have the best Celestia Patch of the quarter (I think its hard to have something really good and cool in less than three months).

The prize should be the inclusion of the code in the current CVS or even the entrance of the developer in the Official development team.

I propose the following rules for the contest:
- The purpose of the patch must be declared.
- The patch must be scientifically accurate.
- The code must use the Celestia coding conventions.
- The patch can't modify more than 10 celestia source file (both h and cpp).
- The developer has to publish a debugged and executable version of Celestia that uses the Patch.

What do you think?
Remember: Time always flows, it is the most precious thing that we have.
My Celestia - Celui

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 21 years 11 months
Location: Lyon (France)

Post #27by Christophe » 27.04.2005, 12:23

Paolo wrote:So why don't we start a contest in the development forum in order to have the best Celestia Patch of the quarter (I think its hard to have something really good and cool in less than three months).

The prize should be the inclusion of the code in the current CVS or even the entrance of the developer in the Official development team.

I propose the following rules for the contest:
- The purpose of the patch must be declared.
- The patch must be scientifically accurate.
- The code must use the Celestia coding conventions.
- The patch can't modify more than 10 celestia source file (both h and cpp).
- The developer has to publish a debugged and executable version of Celestia that uses the Patch.

What do you think?


This seems like a good idea. I would add that the patch should apply against the current CVS (or a recent dated checkout). Maybe a short HOWTO on how to create a patch could be provided with the contest rules.

I would also remove the limitation on the number of files, what is your reasonning for it?

I'm not sure about the requirement to provide an executable as well, this is not very practical for someone coding under Linux. Of course the patch shouldn't break Celestia for other platforms and be as cross-platform as possible.
Christophe

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 3 months
Location: Hamburg, Germany

Post #28by t00fri » 27.04.2005, 12:45

Christophe wrote:
Paolo wrote:So why don't we start a contest in the development forum in order to have the best Celestia Patch of the quarter (I think its hard to have something really good and cool in less than three months).

The prize should be the inclusion of the code in the current CVS or even the entrance of the developer in the Official development team.

I propose the following rules for the contest:
- The purpose of the patch must be declared.
- The patch must be scientifically accurate.
- The code must use the Celestia coding conventions.
- The patch can't modify more than 10 celestia source file (both h and cpp).
- The developer has to publish a debugged and executable version of Celestia that uses the Patch.

What do you think?

This seems like a good idea.
...
.


Well, perhaps its a bit better than the present stagnation, but certainly very far from my "dreams" !

I could only forsee such patches to add some rather general "service" or GUI feature to Celestia. Typically things that do not require deep insight into how Celestia works.

My main criticism is that such coding based on previously undiscussed "ideas" by Celestia-"NON-experts" will further enhance the gap to what we really need: coordinated joint development of major new features rather than little "best patches of the quarter" here and there...

Bye Fridger

hjw
Posts: 66
Joined: 02.02.2004
With us: 20 years 5 months
Location: Schwabach/Germany

Post #29by hjw » 27.04.2005, 12:55

Paolo, Christophe,

I think this is a good idea. It could be something to begin with.

One little detail: Often a new feature needs some additions to
the GUI. I myself just could do the UNIX GUIs, I'm a complete
dummy with MAC and Windows. And if - just in case :-) - nobody
likes the patch, I think it's to much effort to do GLUT, GTK and KDE
and then throw everything way.

Horst

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 3 months
Location: Hamburg, Germany

Post #30by t00fri » 27.04.2005, 13:11

Honestly, instead of the above proposed "patch competition",
it would be MUCH MUCH more reasonable that people who are determined to address a really important overdue improvement together will form little working groups. Notably by exploiting their hopefully complementary know how.

Example:
=====
We /urgently/ need much improved planetary atmosphere rendering.
It would be really fun to have several cloud layers, no bugs at low altitude, no "hole in the sky", a much better "sun" rendering (see e.g. Stellarium!), haze working again under the OpenGL 2.0 path etc.

A little group could form consisting of people:

1) localizing and logging all present atmosphere bugs, like the infamous "hole in the sky" and many others I have previously enumerated in one of my Titan threads.

2) OpenGL coding experts. There should be some besides Chris on this planet ;-) . General C++ coders willing to help.

3) People with expertise on atmosphere composition and other astrophysical relevant constraints.

4) people interested in debugging new features

Then a "plan of attack" should be set up jointly after discussion of the best solution strategies.

The result could then be examined and possibly improved by Chris and finally be implemented.

++++++++++++++
The best of all is that as a side effect of such diverse cooperation, the learning curve of each participating individual will raise steeply!
++++++++++++++

..and finally it's a lot of fun to achieve something TOGETHER!


Bye Fridger

hjw
Posts: 66
Joined: 02.02.2004
With us: 20 years 5 months
Location: Schwabach/Germany

Post #31by hjw » 27.04.2005, 13:43

Fridger,

in most cases I completely agree with your postings (I don't know
if this is considered "good" or "bad" by others).

But so far I have not seen the pool of coders required to form a team
like one you have described. At least I have not seen them posting
to this forum. But how attract/find them if the only way to contribute
is to make add-ons or docs, which in many cases is no fun at all for hardcore coders.

There definitely should be a way for such coders to get comfortable with the source
and the community by contributing code (Christophe wants to see code :-) ).

And - most important - it must be fun. I'm quite sure that every
sane person (I'm considering coders to be sane - others don't)
wants to have fun when "working" in her/his spare time.

Wether or not this begins with a "patch contest", a "play ground" or
whatever one wants to call it is secondary as long as SOMETHING
happens besides discussions.

Horst.

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 3 months
Location: Hamburg, Germany

Post #32by t00fri » 27.04.2005, 14:08

hjw wrote:Fridger,

in most cases I completely agree with your postings (I don't know
if this is considered "good" or "bad" by others).

But so far I have not seen the pool of coders required to form a team
like one you have described. At least I have not seen them posting
to this forum. But how attract/find them if the only way to contribute
is to make add-ons or docs, which in many cases is no fun at all for hardcore coders.

Horst,

there are quite a few people in the forum community who know how to code c++:

1) Of course, all (but one) Celestia developers/authors, including Christophe, myself, Hank, dirkpitt, Harald, Pat. Among those, dirkpitt should have considerable OpenGL expertise besides his OSX know how, as you may infer from his CV on his Website (and his Avatar ;-) )

He did his thesis on 3d rendering!

2) A number of forum users also have (considerable or even professional) coding know how:

Paulo, yourself, Toti, maxim ...
There are certainly more.

3) There are quite a few astrophysics buffs around ;-)

4) testing & debugging: Selden (!), Evil Dr. Ganymede, maxim, myself,...

That should be enough for a start! Usually I tend to count /before/ posting ;-)

There definitely should be a way for such coders to get comfortable with the source

Most of the people I listed under 1) & 2) know Celestia's code /very well/.

and the community by contributing code (Christophe wants to see code :-) ).


Like Christophe, I also "want to see code". I for one place my weighting according to its content and not according to quantity!


Bye Fridger
Last edited by t00fri on 27.04.2005, 21:11, edited 1 time in total.

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 21 years 11 months
Location: Lyon (France)

Post #33by Christophe » 27.04.2005, 19:49

Fridger, you have to keep in mind that the aim of the patch competition is to get more people to know the code. Although I agee with you about an organized team being more effective and the prefered way to do things in the long run, I think this competition could be a good way to get new people on board. Adding a small feature in a short time is more motivating than going through a full design/specification/implementation cycle on more heavyweight stuff.

We don't want people to submit a full relativistic model implementation, but for example a working alt/az mode or pointer coordinates display would be a good introduction to the code layout and a useful addition.
Christophe

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 4 months

Post #34by ElChristou » 27.04.2005, 20:54

hjw wrote:...Wether or not this begins with a "patch contest", a "play ground" or whatever one wants to call it is secondary as long as SOMETHING happens besides discussions.
Completely agree...

t00fri wrote:...there are quite a few people in the forum community who know how to code c++:

1) Of course, all (but one) Celestia developer/authors, including Christophe, myself, Hank, dirkpitt, Harald, Pat. Among those, dirkpitt should have considerable OpenGL expertise...

2) A number of forum users also have (considerable or even professional) coding know how:

Paulo, yourself, Toti, maxim ...
There are certainly more.

3) There are quite a few astrophysics buffs around ;-)

4) testing & debugging: Selden (!), Evil Dr. Ganymede, maxim, myself,...

...Most of the people I listed under 1) & 2) know Celestia's code /very well/...


SO?? Seems the situation is not so bad??? why this big pessimism over the community??
Now, if we have coders, people for testing, scientific consultants, why the basic requests, or the polishing (I won't list all the stuff reported by users over the forum here...) can not be implemented or just tested or just discussed around the code, meanwhile Chris is not present??
Let give him a hand just to save his time for bigger implementations...

The perfect example is the Toti work with the rendering of galaxies...

What about others small requets?
Image

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 3 months
Location: Hamburg, Germany

Post #35by t00fri » 27.04.2005, 20:59

Christophe wrote:Fridger, you have to keep in mind that the aim of the patch competition is to get more people to know the code.

Certainly I am aware of the intention. But my way of thinking, planning and approaching an aim has always been direct and most learn-effective. Hence this "contrived" line of approach (of getting coders in through the "backdoor") appears quite "remote" to me.

We don't want people to submit a full relativistic model implementation, but for example a working alt/az mode or pointer coordinates display would be a good introduction to the code layout and a useful addition.


I strongly dislike the fact that people will go away and start coding something without seeing the greater picture behind the scene. I simply doubt that many of your "hypothetical new patch-coders" that you want to attract, will have the astronomy background of being able to code e.g. one general framework for all standard celestial coordinate systems and grids. They most probably don't know the astronomical conventions let alone the meaning and definition of the coordinate systems themselves. Furthermore, in Celestia all rotations are implemented by means of the quaternionic calculus. Most hobby coders will not even know what these are and do their own home-brewn rotations instead of using our fast quaternion library. And so on...

The more I think about this, the less sensible I find the idea I must confess.

Chris always had such a universal coordinate/projection framework in mind for our due coordinate readout as well as for realizing future useful sky projections ( including my conformal maps and|or various projections proposed by Selden). I would find it more than a pity if --due to the coder's astronomical imcompetence-- we would get stuck with a most narrow-minded mere alt-az readout, for example.

+++++++++++++++++++++++++
At least it should be well-defined from the onset what features need to be coded.
+++++++++++++++++++++++++

Why don't you revive your download manager project instead?. Here you can "employ" many coders without touching the core code very much. ... And you may be sure that I would never want to interfere whatsoever... ;-)


Bye Fridger

Avatar
PlutonianEmpire M
Posts: 1374
Joined: 09.09.2004
Age: 39
With us: 19 years 9 months
Location: MinneSNOWta
Contact:

Post #36by PlutonianEmpire » 27.04.2005, 23:23

t00fri wrote:Example:
=====
We /urgently/ need much improved planetary atmosphere rendering.
It would be really fun to have several cloud layers, no bugs at low altitude, no "hole in the sky", a much better "sun" rendering (see e.g. Stellarium!), haze working again under the OpenGL 2.0 path etc.

A little group could form consisting of people:

1) localizing and logging all present atmosphere bugs, like the infamous "hole in the sky" and many others I have previously enumerated in one of my Titan threads.

There's also a "hole in the ground" bug for planets with ring systems. That can get annoying after a while...
Terraformed Pluto: Now with New Horizons maps! :D

Topic author
Slalomsk8er
Posts: 128
Joined: 26.07.2004
With us: 19 years 11 months
Location: Earth 7.593358long / 47.582393lat
Contact:

Post #37by Slalomsk8er » 28.04.2005, 01:00

I came home now after finishing a deathline for an 3D art project of mine and I have checked out the CVS code. I will look if I can make any sense out of the source (I am no c++ coder at the moment), if I can, I will look in to the time slots I would like so much for textures ;) I hope I can work a round any core code with quaternion math or ??ber complex things.

The motivation boost here is realy good IMHO.

Where is the dev email list located?

Good night/morning what ever ;)
ASUS A7N8X Deluxe

AMD Athlon XP 2800+ (2.08GHz)

1GB DDR RAM 333MHz

NVIDIA GeForce FX 5600 AGP 8X

Christophe
Developer
Posts: 944
Joined: 18.07.2002
With us: 21 years 11 months
Location: Lyon (France)

Post #38by Christophe » 28.04.2005, 08:48

Slalomsk8er wrote:I came home now after finishing a deathline for an 3D art project of mine and I have checked out the CVS code. I will look if I can make any sense out of the source (I am no c++ coder at the moment), if I can, I will look in to the time slots I would like so much for textures ;) I hope I can work a round any core code with quaternion math or ??ber complex things.

The motivation boost here is realy good IMHO.

Where is the dev email list located?

Good night/morning what ever ;)


The mailing list is hosted at Sourceforge.

If you're not familiar with C++, getting a book on the subject will probably save you some time.

Have a look here for pointers to documentation and tools. If you want to start browsing the classes documentation, you should start by CelestiaCore.
Christophe

Paolo
Posts: 502
Joined: 23.09.2002
With us: 21 years 9 months
Location: Pordenone/Italy

Post #39by Paolo » 28.04.2005, 10:38

OT
Christophe what is the Doxigen command that allows the creation of collaboration graphs?
Thank you
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

Paolo
Posts: 502
Joined: 23.09.2002
With us: 21 years 9 months
Location: Pordenone/Italy

Post #40by Paolo » 28.04.2005, 10:42

IMHO the developer contest idea is not so bad as should seem.
Here are some additional clarifications.

In my proposal the first rule of the contest is that the patch purpose must be declared so announced and published. Which is the best and more obvious way? To open a thread in this forum. So anyone that has doubts about the real usefulness of the patch can post his opinion and the coder should correct the aim. Moreover this is useful in order to:
- avoid the risk that more than one will be working on the same thing
- allow to more than one coder to be involved giving help.
This automatically will create small groups working on small portions of the code giving an effective contribution.

The second rule says that the patch must be scientifically accurate. So the coder must document himself about astronomy, cosmology and so.
Which is the best and more obvious way? To use this forum so everyone that have competence is able to participate and clarify immediately doubts and correct scientific errors. This will allow to involve the community of the developers and enhance the scientific background.

The rule of the 10 source file is a limitation that has the aim to prevent very large works. A patch is intended to be something fast-small: a bug correction, a minor improvement, an annoying detail fix, a GUI addition. More often if you want to add something significant to Celestia Core you will need to put the hands on more than 10 source file with the concrete risk of heavy side effects on the next major releases of the software or with a significant impact on the further development. This the purpose of the official development team, not the aim of the patch contest. The contest is some kind of playground where new coders can do practice with code in a limited way in order to get into the development team in a future.
There is another aspect: if the patches will be accepted by the community and if the number of modified file is large, the work necessary to integrate in CVS should be time demanding, specially if more than one patch has effect on the same file and so a merging and debugging work is necessary.

The last of the rules that I've proposed is necessary instead the community won't be able to test the result of the work in an easy way. For the Linux users the thing is a little bit more complicate, but I would prefer an executable file. The executable is easier to deploy and publish.

A more detailed list of rules for the contest and a HOWTO brief description as said by Christophe will allow us to start.

The further question is.....Is there someone beside me that is interested in participating to this kind of contest?
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui


Return to “Development”