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: I have been planning on developing my game for Linux, but the whole GPL thing bugs me about the ability to try and sell it. GPL doesn't allow it, and GPL is good and all, but you should be able to sell closed software for Linux if you want to. I know it kind of defeats the purpose of Open Source Greatness, but I bet more users would go to Linux if there was a kick ass game for it, pay or no pay.


There is - quake, wolf, unreal - are those kick a$$ enough for your taste?

Quote: Just out of curiosity - how easy is it to find enough non GPL libraries for graphics, io, etc under linux?
Are you looking for comercial licence to buy or for free one? Crystal Space and SDL are free ones to use (u may keep your source closed). I don't think it's really good question; you can equally well ask how many non-gpl & free libraries are there for other systems (windows & mac)?
Quote: Original post by smiley_horse



There is - quake, wolf, unreal - are those kick a$$ enough for your taste?





I stand corrected :).

What I should have said was that there isn't as large a base of popular titles for Linux as there is for Windows (Rome:Total War, Morrowind, ect.).
Advertisement
Quote: What I should have said was that there isn't as large a base of popular titles for Linux as there is for Windows (Rome:Total War, Morrowind, ect.).

Yeah I know it's an old argument :) - I'm just driving a little bit. I agree but not completely. Many games are playable through the emulator winex, but there is a lot of other things that keeps linux a bit back. In my opinion it's more important to have drivers for hardware. Still are most scanners, webacams & such not usable on linux because companies develop only windows and eventually mac drivers & keep their specs closed. For examle hp, cannon, logitech - just to mention few big. Secondly ppl have to drop habbit of running cracked m$, adobe & macromedia software. Frankly speaking m$ office is the best one out, compared to latest incarnation of m$ office, openoffice is running at crowling speed. When average joe see how m$ office looks like, then how openoffice look like - guess what he choose. And ofcourse, light versions that came almost for free with new computers, and all magazines that are posting 99% tips & articles about commercial software and 1% about free software are not doing a lot to get average joe to look on free software site.
Yet there is not concurent to dreamweaver or flash or illustrator on linux. There are wannabes but nothing sofisticated as those progs. A look on dc++ shares or any other p2p soft will reveal a cracked copy of adobes & macromedia progs at almost any user. It means ppl at least believe they need sofisticated soft, and until such options are avialable on linux they will continue to run windows. You can run many apps inclusive macromedia and adobe's through wine, but that's not smooth as native on windows. And as last, I have assembled, several computers myself to family and friends. But these days u get equally good computer for as little many as if you would assembling it yourself from ex. hp, with xp home included, works or office home, antivirus soft and mucho more. I just don't tell ppl any more they will save money if they assemble computers themselves and run linux instead of windows. I tell them they will get another options instead.
OK, little IDE update. We've been working on it again since last week.

And I can tell you one thing: we made a big mistake. That mistake is called Gtk. For the love of god and all that is holy, I swear I will never use that POS again in any decently large production level project. Never ever, mark my words. Maybe I should start a journal, and fill it up with how much I hate Gtk. That would make quite a read...

Seriously, we're currently pulling our hairs out. It's only after you used Gtk that you will really understand how well the billion Dollars Microsoft invested into UI design were spent. There are situations where you really ask yourself in total disbelief "what the fuck were they thinking ?!". I really don't know. I never thought I'd ever say that, but damn, I miss WinForms.

Anyway, for the entire last week, we've been rewriting and debugging widgets. And there's no end in sight. We will now concentrate on the IDE itself, and leave the GUI as it is right now, because frankly, I'm already having nightmares about Gtk. If there are any masochist Gtk gurus in here that wish to take a look at it, please drop me a PM...

[Edit] Hmm, this thread has really degenerated into name calling. Although some heated discussion was to be expected, a typical VS. bashing was not my intention. N&V, I don't really feel like moderating it myself, being majorly involved, having started the thread, and all that. So please, if you feel this is appropriate, feel free to prune and/or close it.
I'm quite good with gtk (and if you manage to find things that I'm not good with, I want to spend the time to figure it out anyway!), and while I'd prefer answering posts in E-U, I guess I could go for PMs if you'd rather minimize the number of people who see your code.

I recall you having problems with gtk 2.6? Ubuntu Hoary (the "testing/unstable" release of ubuntu) has gnome 2.9.x development snapshots and gtk 2.6 in it I believe. That should work out alright.
You're good with Gtk ? Excellent, I will bother you with a couple of questions then :)

Ok, to start: how can I tell a GtkNotebook to behave in a sane way, when it gets too many tabs ? Right now, it will add an arrow left and right, and set the scroll granularity to "one tab". This has the effect, that the remaining (ie. currently visible) tabs will be stretched to fill the entire available area, which is extremely ugly. I would like them to behave like a tab container does under Qt or Win32: display a partial tab at the edge, without changing the size of the visible ones. Any ideas ?

And to that AP above:
Quote:
I am pretty skeptical about this whole thing. Instead of forking anjuta or an existing IDE to add and change things that are amiss,

As I have mentioned several times, I don't like the entire concept of Anjuta. It would require a lot more than a few changes.

Quote:
Supposedly, a couple of months is all it takes to duplicate work that took a team of engineers at Microsoft or Borland years. The makers are either programming gods, or naive about their own abilities.

Probably not the former, but most definitely not the latter, you can trust me on that ;) Most of the time that goes into the development of an IDE is the usability research - which MS was so nice to do for us ;) The programming itself is actually not too involved, if you have a good rapid application development framework. If the UI API is usable, that is...
Advertisement
Quote:
As I have mentioned several times, I don't like the entire concept of Anjuta. It would require a lot more than a few changes.


What "entire concept" are you talking about? The "entire concept" of Anjuta (and KDevelop, and ...) is to create a good IDE. If you "don't like" that, I wonder what you're here for.

Now maybe you are talking about the build system that Anjuta and other Linux IDEs use by default. I simply assume this because it's what most newcomers complain about when they complain about IDEs on Linux. Yes, their complaints are valid, but that's not the point here. The point is, the build system is just a small part of the IDE, and in KDevelop it is even contained in a plugin (I'm not so familiar with other Linux IDEs). There are plugins for autohell, qmake, and probably others, I haven't checked lately.

In fact, I would argue that the build system is actually one of the *least* important aspects of an IDE. Sure, a clean and straightforward build system is nice. But 99% of the time I spend in an IDE, I spend writing code and debugging. I do *not* spend this time messing around with the build system, because that would just be pointless.

So if you want to make a better IDE, you should look at the "writing code" and "debugging" parts, not the "build system" part. Getting Intellisense-like stuff to work well is *hard*. Even Visual Studio, which is *way* better in this regard than all existing Linux IDEs taken together, leaves some open wishes (otherwise tools like VisualAssist wouldn't exist). And I don't see you mentioning anything at all about debugging (which is where current Linux IDEs are most lacking IMO).

So I still don't think your starting your own IDE from scratch is based on good judgement. I do appreciate the effort, though, and if you don't agree with my conclusions, just treat this post as a subtle hint for what you might want to focus on ;)

cu,
Prefect
Widelands - laid back, free software strategy
Quote: Original post by Prefect
What "entire concept" are you talking about? The "entire concept" of Anjuta (and KDevelop, and ...) is to create a good IDE. If you "don't like" that, I wonder what you're here for.

I guess our definition of the terms "good IDE" differ significantly. Anjuta is no good IDE, and neither is KDevelop. Here, I'll give you a quick rundown over what I dislike about Anjuta (from the top of my head, there are probably many more subtle points):

* Its complete reliance on an obsolete and crappy build system
* The lack of any working source tree management (forced autotools source structure, no virtual tree, etc)
* No multiple dependent projects and targets within a solution
* The fact that the interface customizability is exactly zero
* The GUI is clumsy and confusing, and doesn't support an efficient workflow
* The debugger integration is very bad (this also applies to other external tools, such as gprof, valgrind, etc).

Basically, it's messed up beyond hope (well, according to my definitions ;) Fixing it by a fork would be more work than starting a new IDE from scratch.

Let me state it like this: Anjuta & KDevelop are nice IDEs for the amateur developer, that adheres to the GNU development style. But they are not usable for more complex and professional projects. Eclipse is different in that respect. I would definitely classify it as a professional IDE, but it comes with a lot of other problems (bloat, stability, missing features).


Quote: Original post by Prefect
In fact, I would argue that the build system is actually one of the *least* important aspects of an IDE.

Tell that the project managers at any large software company ;) The build system is actually an extremely important part of an IDE. Even more important, is its tight integration into all other tools, such the editor and debugger.

This is actually the magical two words: seamless integration. That's what pretty much all Linux IDEs lack (except Eclipse). They're more a patchwork of tools that were thrown together, and lightly coupled by the IDE. Many current Linux IDEs are nothing but a graphical frontend for autotools, gdb and make. And this is not what an IDE is supposed to be - it is supposed to tightly glue these tools together, so that as a user, you don't even feel like using separate tools anymore.

Quote: Original post by Prefect
And I don't see you mentioning anything at all about debugging (which is where current Linux IDEs are most lacking IMO).

No, I didn't mention it explicitely - because I saw it as a given. An IDE without good debugger integration is no IDE, yet good debugging support does not exist in Linux IDEs. It's as simple as that. A big problem is GDB - it's a pretty good debugger kernel, with a horribly broken interface. We are trying to achieve a seamless integration with the IDE, in the style of MSVC, yet with more debugging options (in the style of Watcom's excellent debugger). As I said, GDB offers a lot, it's just a pain to interface with it in an efficient manner.

EDIT: BTW, if someone would like to help with the GTK stuff, I just created a topic in Help Wanted.


[Edited by - Yann L on February 20, 2005 6:08:48 AM]
Quote: Original post by Yann L
Ok, to start: how can I tell a GtkNotebook to behave in a sane way, when it gets too many tabs ? Right now, it will add an arrow left and right, and set the scroll granularity to "one tab". This has the effect, that the remaining (ie. currently visible) tabs will be stretched to fill the entire available area, which is extremely ugly. I would like them to behave like a tab container does under Qt or Win32: display a partial tab at the edge, without changing the size of the visible ones. Any ideas ?

My thoughts, in order:

Why would you want to do that?
I'd bet that's a theme thing...
Maybe try fiddling with homogenous_tabs or tab_label_packing?
edit: after fiddling around with these in glade, it doesn't look possible (by any feature glade exposes) how essential is this?
I think part of the reason the GPL zealots are after you is because you propose to give something to them for free, and yet in their minds, free includes source code.

I think you are better off selling your software comercially and offering a free demo of your IDE on your website.

This will be more beficial in numerous ways.

#1) no confusion on the zealot's part (since they can't comprehend free without source code). if they really like it they will start their own clone project of it.

#2) the people who want such IDE will be willing to buy it, since they have all bought Microsofts IDE's.

#3) you will be happy, because you profit and the linux folks will learn what a good comercial IDE can be, and maybe more open to commercial software?


This topic is closed to new replies.

Advertisement