Advertisement

Release for Linux, or why I don't like GPL zealots

Started by January 04, 2005 10:20 PM
225 comments, last by Yann L 19 years, 8 months ago
Quote: Original post by evolutional
Looks decent, when can we expect a demo?

As soon as I get GTK 2.6 installed on my system without trashing gnome, and as soon as we get the stupid GtkCellRendererCombo widget running as it should. Hopefully this weekend.
I'm interested too. [smile]

Its looking good so far.
Advertisement
Yann, your screenshots look really impressive and it looks like a feature packed project you're working on. I wasn't going to say anything because everyone else is saying they'd use it, but in terms of adopting a closed-source tool (not specifically your one) that I would use daily in Linux at home/work, I'd have to say I'd rather not unless I really had to. By this, I mean I would probably only use it if there was no other free open-source tool available to me that provided the same essential functionality.

It looks like you're trying to replicate MSVC and that was written by a huge team of well paid developers. KDevelop can be configured to act in a similar way to MSVC, but various posters here said they didn't like it. Anyway, KDevelop is a combination of tens of thousands of man-hours. Eclipse will have taken even more than that. My issue with closed-source projects like this, is that you'll eventually lose interest, stop fixing bugs and stop adding features and the project will die because nobody can pick up where you left off (this is what happens to the vast majority of projects).

Even if you did manage to develop it for 5/10 odd years until it was the best IDE around, I'd say you'd be likely (rightfully) to start charging money for it instead. With projects like KDevelop/Kate, I know they're always going to be free, so I'm happy to use them and help it's developers by sending off the occasional bug report because in the long run it'll make my life and other programmer's lifes better. Since I use all free tools already which have all the advantages of free software, I don't have any desire to start adopting closed tools that might only be a bit better than what I have at the moment.

Also, you might think that "exotic" Unix variants is a funny topic, but I've had to work on Sun boxes, BSD boxes etc. There's no way I can rely on using a closed-source tool for everyday use unless I know it's going to work anywhere I go (I don't want to have to switch tools all the time). There's nothing to say that you'll become a lazy maintainer and not create binaries for most platforms. If it's open, contributers can help you do this.

I've used MSVC for several years, switched to Linux for several years and have just started using text editors (like Kate which has syntax highlighting for most languages and auto-completion) with Makefiles to handle complex build systems. I work with multiple languages so I don't have any desire to learn a different IDE for each one. This way I can use one approach for all projects. MSVC is nice, but I really don't miss it. Yes, it's a nice IDE, but I really can't think of anything that it provided that was essential to me.

I'm honestly not trying to pan your project. My above views would hold for any closed-source programming tool. Good luck though, it looks like a nice project.
Quote: Original post by seanw
It looks like you're trying to replicate MSVC

Well, no we don't intend to replicate MSVC. MSVC is a very complex and feature packed product, but many of those features don't make a lot of sense if you take them out of the Windows framework. We are trying to replicate a subset of MSVC: the one that lets you easily and visually develop software without having to care about makefiles, autotools, and such things.

Quote: Original post by seanw
and that was written by a huge team of well paid developers. KDevelop can be configured to act in a similar way to MSVC, but various posters here said they didn't like it. Anyway, KDevelop is a combination of tens of thousands of man-hours. Eclipse will have taken even more than that.

And especially on the later one, I'd say that easily 50% of those manhours (if not substancially more) are wasted in pure bloat. I have many years of large scale software development experience, yet I fail to understand how so many manhours can produce such crappy products. Not to bash them, if KDevelop or Eclipse suit your needs, then that is good. But with correct organisation and the right tools, they could've made something far more advanced given the same amount of resources.

Quote: Original post by seanw
My issue with closed-source projects like this, is that you'll eventually lose interest, stop fixing bugs and stop adding features and the project will die because nobody can pick up where you left off (this is what happens to the vast majority of projects).

Well, MingW Studio died quite some time ago, yet people continue using it. This IDE isn't going to be a long term project. We have a very well defined feature list, and we aren't implementing anything beyond those features. We're trying to bring the IDE to it's final state within a couple of months. After that, it's fixing bugs only. Maybe there will be a version 2, maybe not. But there will definitely not be a version 1.01, 1.2, 1.31b, 1.4.1c, etc, as with so many open source projects around. We will treat this product as we do treat our commercial releases - only that it will be free.

Quote: Original post by seanw
Even if you did manage to develop it for 5/10 odd years until it was the best IDE around, I'd say you'd be likely (rightfully) to start charging money for it instead.

I'm not interested in money, and neither is Alex (the other guy on the project). We have enough of it. And we won't put more than two months into this project. The joys of rapid application development with an existing framework :)

Quote:
Also, you might think that "exotic" Unix variants is a funny topic, but I've had to work on Sun boxes, BSD boxes etc.

I've done a lot of work on Irix and OS X. Each platform is different, and each should have its own set of well adapted tools. That's how I see it - our IDE targets the x86 Linux market only. OS X, Irix and BSD would be trivial to add, since our framework libs are already available for all those systems. And since they are an integral part of our commercial applications, they are very well maintained anyway. But there won't be a Solaris, HPUX, Amiga, or whatever other exotic OS version.

Quote:
There's nothing to say that you'll become a lazy maintainer and not create binaries for most platforms. If it's open, contributers can help you do this.

That's not the way we manage our development. See, I come from commercial software engineering, so I see the whole development process with different eyes. I think this whole "contributers can help you do this" as the main reason of bad open source software quality, since it dilutes and disorganises the project. The project will not be maintained, except for bug fixes. Each time a service patch will be given out (and I don't expect too many of them, after all it's just an IDE, not an OS), it will be automatically compiled to all platforms through the same project management system we use for our commercial software. There won't be any nightly builds, or such things.

Quote:
I'm honestly not trying to pan your project. My above views would hold for any closed-source programming tool. Good luck though, it looks like a nice project.

Thanks :) No problem, you're obviously entitled to your opinion.
Quote: Original post by Yann L
I try to statically link as much as legally possible, but there are license problems with LGPL libs. They cannot be statically linked into closed source software, so I'm stuck with using dynamic libs.


Maybe you should package some dynamic libraries with the app then. This way people that want to can replace them with other versions if necessary but by default they have a version tested by you. For example ut2003 did this with SDL and OpenAL.
seanw,

those are good points. Personally, I would fork out couple of bucks for IDE.

yann,

in vc6(sorry, I don't have .net) I click on a text line and hit a bookmark button and a blue line will appear across the page. I can put more of these bookmarks onto each page then hit fore/back bookmark navigation buttons to go from one bookmark to next. The only bad thing in vc6 is that these bookmarks go away when you close down the application. I would like them to remain showing for all opened windows at the time the app closes. Most recently used workspace list under File menu is also handy. I think vc6 limits it to 10 entries which I set for 6 usually.

Anyways, I don't want to fork over couple thousands for Qt. So I would rather you embrace GTK+ and related tools. How is bakery compared to the wxWidgets? It might be a better idea to just go with glade/gtk+/bakery/etc. combo to keep sanity since I might skip wxWidgets anyway for game engine work. It would then be confusing for me to work in both wxWidgets and Gtk+. I rather learn only one api set. Speaking of gui frameworks there is also Fox toolkit out there. It reminds me of wxWidgets.

Ok, so that's what I'm like. Probably not too different from other game devs. Coming back to what sheanw said, it might be a good idea to setup some kind of a plug in system or open the IDE in some way to allow others add things to it if you're not going to devote too much time to it. Maybe you mentioned it already, so sorry.
Advertisement
Quote: Original post by JD
in vc6(sorry, I don't have .net) I click on a text line and hit a bookmark button and a blue line will appear across the page. I can put more of these bookmarks onto each page then hit fore/back bookmark navigation buttons to go from one bookmark to next.

Oh, that's very easy to do. Basically just a local document marker list.

Quote: Original post by JD
The only bad thing in vc6 is that these bookmarks go away when you close down the application. I would like them to remain showing for all opened windows at the time the app closes. Most recently used workspace list under File menu is also handy. I think vc6 limits it to 10 entries which I set for 6 usually.

The IDE has a project selection start page, in the sytle of VC.net 2003, so no need for most recent entries in the file menu.

Quote: Original post by JD
Anyways, I don't want to fork over couple thousands for Qt. So I would rather you embrace GTK+ and related tools. How is bakery compared to the wxWidgets? It might be a better idea to just go with glade/gtk+/bakery/etc. combo to keep sanity since I might skip wxWidgets anyway for game engine work. It would then be confusing for me to work in both wxWidgets and Gtk+. I rather learn only one api set.

We're probably going to support GUI building for GTK+ only, and allow the addition of other libs through plugins. I really don't like the Qt license.
Quote: Original post by Yann L
We're trying to bring the IDE to it's final state within a couple of months. After that, it's fixing bugs only. Maybe there will be a version 2, maybe not. But there will definitely not be a version 1.01, 1.2, 1.31b, 1.4.1c, etc, as with so many open source projects around. We will treat this product as we do treat our commercial releases - only that it will be free.


If this is the case, I think it'd be very nice if you were able to include a way for users and third party developers to expand the core of the system through use of a plugin or scripting interface. This way, if a certain feature or addition isn't present, there's a good chance that they can add it themselves. You could also set up a small community of plugin developers (like a plugin/script repository) to hold the things people come up with. Although the core IDE won't change much apart from bugfixes, there should be some activity at least from the extensions that are created by the users.

Of course, this is just a wishlist ;)
Interesting,

I'd definately try the environment out. Currently there's not really any good GTK+-applications around as an IDE, and never felt like compiling the kdelibs for kdevelop alone - so for the last few years I've only been working with the command line approach (gcc/vim/man/gnome-terminal). Of course I would've preferred if it was open source, especially since I use an AMD64-system where most of my applications are compiled as 64-bit, but it wouldn't hold me back from trying your IDE.
Nemo enim fere saltat sobrius, nisi forte insanit.
Great work Yann (as usual), the screenshot looks really good. I'd use this IDE for sure when it is released. I still, however, hesitate porting my engine to Linux. I have thousends+ of Assmbly lines (A bunch of SSE code) and I frickin' hate gcc's (How are you supposed to pronounce that?!) inline assembly syntax.
"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"

This topic is closed to new replies.

Advertisement