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
It looks great and I too would like to try it. I don't consider it being closed-source a problem at all. An IDE for Linux that is good for more than Java (at which Eclipse already excells) is sorely needed and a freeware program is still countless times better than a commercial one.

Many closed-source linux apps and games distribute statically linked tarballs in addition to packages for the popular distros to avoid compatibility problems. Maybe you should consider that as well. If you allow redistribution of the binaries then distros like debian and gentoo will probably wrap your binaries in their own distribution format themselves.

Many good projects have started out as closed-source and later opened the code when they've become popular. Examples: Blender, QT, Netscape... If it weren't nearly 2 a.m. I could probably name some more.

BTW it'd be interesting to hear what toolkits/libraries you are using?
Quote: We wanted to release it for free, but it would not be open source (since it uses a ton of inhouse RAD libraries).


Then I assume it would been open source if you didn't have to deal with the inhouse libs?

One solution is to open source parts of the project, and if the community is intressted enought, they will for sure replace those.

This would probebly make it far easier to embrace for the open source community
Advertisement
Quote: Original post by Yann L
Crap, I just killed the entire GTK core when trying to patch a few core libraries. Argh. About to reinstall gnome...

Here is a shot of the IDE from monday. More to follow for the weekend, well, if we manage to get this stupid GtkCellRendererCombo to work. Also, parsing gcc error output is the pure horror, WTF did they never introduced standarized error and warning codes ?

Screenshot


That is exactly what I was looking for ! The only thing that stopped me from programming in linux was that GEdit just wasn't good enough and that was the only reasonable and FAST editor out there. Untill now this one looks great :) Some idea could be to add a visual editor but no I am not forcing you to do that :P If you finish it I think that program would be the thing that can make me make my games and programs for linux too ! :) Good job keep working on this I like it :D
http://sourceforge.net/projects/pingux/ <-- you know you wanna see my 2D Engine which supports DirectX and OpenGL or insert your renderer here :)
Quote: Original post by tentoid
Yes, but Linus is only working on the kernel part.. not the whole OS.

I know, and his kernel is nothing architecturally special. Hence my comment that he's not a visionary. If he was, he'd attempt to unify what's essentially a bunch unrelated pieces of software into a unified whole.
Quote: Original post by tentoid
[Some stuff about linux architecture]

I know all that. I'm just saying that all the different software components that make up a linux distro need to interact with each other better for a superior user experience (see: OS X). A linux visionary would make that happen because at this point this is what linux needs to further expand. Linus focuses on other things that frankly others are doing better (see: bsd). That makes him a poor visionary, which is all I am saying.
Quote: Original post by tentoid
P.S. I'm curious if have you used GNU/Linux or coded on GNU/Linux?

I'm typing this from my gentoo desktop at home. In the background there is a MinGW Studio window with source code of my graphics library that I'm currently porting to linux. Inspite of what C-Junkie thinks, not everyone who disagrees about this has no idea what he's talking about.
Quote: Original post by C-Junkie
Anyway, my point is this: You might think this is bad, but I think it's not, and that it's the way of the future.
"Okay."

You will note that I didn't attach an overt value judgement to my appraisals, which you do not refute.
Yann

- how about those collapsable code sections like some editors have?

- how about a nice way to walk the call function hierarchy or call graphs like vc6 has?

- page bookmarks ie. the blue lines in vc6?

- code window split into two or more views?

- macro system for automating things? (I usually use the macro to make button that when pushed it makes a commenting block above the function definition) That's about the only thing I use it for so far.

- it would be awesome if you could catch all user's settings into a file so that when he/she reinstalls the IDE all the settings can be loaded from that file. God I miss this in vc6 so much.

- how about integrated help system like for various apis and such, preferably done in html so could be hand edited and added in by endusers or IDE devs.

It looks really good so far. Great work!
Advertisement
Quote: Original post by 255
Many closed-source linux apps and games distribute statically linked tarballs in addition to packages for the popular distros to avoid compatibility problems. Maybe you should consider that as well.

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.

Quote: Original post by 255
BTW it'd be interesting to hear what toolkits/libraries you are using?

Not much. GTK+ for the GUI, a modified version of Scintilla for the editor component, a a lot of inhouse support libraries (our own port of the STL, OS call wrappers, OOP pattern frameworks, etc).

Quote:
Then I assume it would been open source if you didn't have to deal with the inhouse libs?
One solution is to open source parts of the project, and if the community is intressted enought, they will for sure replace those.
This would probebly make it far easier to embrace for the open source community

That's a possibility, yes.

Quote:
Can your IDE yet list for example all of an object's member functions when using a . or -> operator

You mean like Intellisense ? Not yet, but we're working on it.

Quote:
- how about those collapsable code sections like some editors have?

It's there, just not activated in the screenshot.

Quote:
- how about a nice way to walk the call function hierarchy or call graphs like vc6 has?

Something similar is included in the class browser.

Quote:
- page bookmarks ie. the blue lines in vc6?

How do they look like in VC.net ?

Quote:
- code window split into two or more views?

You can split it into as many views as you want. You can also use external editors.

Quote:
- macro system for automating things? (I usually use the macro to make button that when pushed it makes a commenting block above the function definition) That's about the only thing I use it for so far.

Not yet, but planned at some later point. Not a priority.

Quote:
- it would be awesome if you could catch all user's settings into a file so that when he/she reinstalls the IDE all the settings can be loaded from that file. God I miss this in vc6 so much.

It's Linux - everything configuration related in stored in the users' home directory. Every user has his own configuration files.

Quote:
- how about integrated help system like for various apis and such, preferably done in html so could be hand edited and added in by endusers or IDE devs.

The help system stubs are there, but if you think I am going to write the docs, then you're dreaming [wink] If someone wants to contribute, you're welcome. An index of available API references would already be great. Currently, the IDE calls an external browser to visualize them. I'm looking into a good HTML browser component as a GTK widget. There are a few possibilities (eg. Nautilus), but they are gnome specific. I really don't want to deal with the Mozilla backend, btw.

The current roadmap looks like this (in order):

1) Finish the core functionality support: C and C++ error parsers, class browser, optimize the build process.

2) Finish the configuration and target management system: custom build tools, custom file types, configuration manager. Link it to the GUI controls.

3) Finish the debugging component, link everything to GDB or to a custom debugger core. Add support for hovering watches to the editor. Make it that the IDE can attach to running processes, and that a crashed external process will call the IDE w/ debugger.

4) Include revision control management, and link to custom revisioning system (CVS, etc). Add a server explorer as in MSVC.

5) Intellisense.

6) GUI cleanup, help system, and stuff with minor importance (macros, etc).

I don't know about the time schedule, basically there is none :) The first two points are very high priority, and will be done in a short term. Point 3 will suck, GDB is a bitch. 4 should be fairly easy. 5, well, the problem is going to be the database. 6 is duh.

We also going to need some new icons. The GTK stock icons are nice and all, but not really appropriate for all features in the IDE. Another nice thing would be an integrated UI design toolbox, such as Glade or Qt designer. The problem is that there is no standard in Linux. If we're going to make one for GTK, the Qt people will bitch, and vice-versa.

Oh, yeah, I was thinking about project types included with the "new project" option. Of course, a pro can go with an empty project, and configure everything himself, but we'd like to provide some predefined project types. Currently, there are:

* Console application (Hello world type)
* Basic X11 application
* GTK+ application
* OpenGL framework
* SDL framework
* Win32 console (Crosscompile)
* Win32 windowed (Crosscompile)
* Win32 OpenGL framework (Crosscompile)
* Win32 SDL framework (Crosscompile)

The user can select the language (currently C, C++ and Python) for each project type. But I'd like to include some more predefined sets, any idea what is missing in the list above ?
It might be obvious, but maybe allowing the user to add his own predefined template project would be cool. For example I would make my own "Create a new Cipher Engine project" after Win32 SDL or something.
I eat heart attacks
Quote: Original post by Yann L
Screenshot


Looks decent, when can we expect a demo? I'm looking for a good IDE that works like Visual Studio and doesn't rely upon autotools...

I've been using Linux exclusively for a couple of months now; prehaps it's because I'm an ex-windows convert, but I don't have any problem at all with people releasing software on Linux without the source. As long as the binary works fine on my machine and is supported by the developers (ie: you) I don't really care about not having the source. Afterall, I probably wouldn't even use the source for anything so I'd see no reason to have it aside from a machine specific compile. My kernel is precompiled as are most of the binaries I'm running, so having the extra 'benefits' I'd get from a custom build doesn't really make one iota of difference to me. Hell, if I used the IDE regularly I wouldn't have a problem with paying for it or making a donation to the authors.

Keep up the good work, and please don't let a few zealots dissuade you from releasing something that by and large would be useful to other developers.
That screenshot honestly looks awesome. Indeed, don't be put off by zealots. At least for me, I think it rocks. I think a switch back to Linux just because of that IDE is something I'd like to do - I switched back from Linux to Windows because of the lack of a nice QT or GTK IDE.

This topic is closed to new replies.

Advertisement