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 Yann L
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.


I haven't used either of them much, but I know people that do and they are both great products. Eclipse is actually very, very impressive; it's more like a platform for developing IDEs on. There's so many community plugins available for it that do loads of different things it's quite amazing. This is the CDT C++ plugin (take a look at the pretty screenshots). It handles things like building, refactoring, class browsing, debugging and auto-completion like intellisense specifically customised for C++.

Take a look at the Eclipse plugins website. There's plugins for everything you can think of there such as GUI designers, web-server control, webpage authoring, graphics editors, automatic UML generation, automatic background regression testing, distributed compilation, SSH support etc. Calling it bloated isn't fair since it has a very advanced plugin architecture. I personally find MSVC really overrated and feel people just want it on Linux because they don't like learning new software.

Quote:
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


I meant that if somebody really liked you're IDE on Linux, they might fiddle with the source code for you to get it to compile on a Sun box, an Amiga, a Gamecube etc. or any other platform that your development process doesn't support. Having bugfixes submitted by enthusiastic developers is nice too. There's a lot of good open-source project out there, like Apache, KDE, Gnome, gcc, Mozilla etc. so I don't agree with your comments about it's effects on quality. It's all about how they are managed, just like a commercial project. The fact that no money is involved changes the dynamics and politics a lot though. :)
I like the sound of what you are trying to do.
You may end up heading the way forward for the "user-friendly" linux
;-)

Regards and Best of luck with your project.
Advertisement
Quote: Original post by evolutional
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.

I probably won't do a scripting interface, but since everything is highly abstracted anyway, a plugin system is trivial. The only problem is again the proprietary framework infrastructure it is based on. Think of it as something similar to .net platform, but without the intermediate language. Pretty much everything is abstracted through our own libs, and it's going to be very hard to code a plugin without them. I could distribute the libs as binary, but as with every templated library, lots of the source is actually in the headers. The alternative is to rewrite them (or at least the parts used by the IDE), but then the benefit of RAD is gone - and we're talking about at least half a year to get the thing working.

What I'd like to see is a hand selected group of voluntary developers, that get the source, including the framework, after having signed an NDA. That would give us legal security, and guarantee a minimum level of organisation.

Quote: Original post by vNistelrooy
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.

Forget gcc inline assembly, NASM solves everything.

Quote: Original post by seanw
I haven't used either of them much, but I know people that do and they are both great products. Eclipse is actually very, very impressive; it's more like a platform for developing IDEs on. There's so many community plugins available for it that do loads of different things it's quite amazing. This is the CDT C++ plugin (take a look at the pretty screenshots).

Yeah, and then try to use it... and you'll get a very, very bad surprise. Yep, it looks good - but it's totally unusable in practice. CDT should actually be renamed to Schrödingers-DT. Its reactions in the real world (ie. the one which goes beyond screenshots and hello world programs) are just that: totally chaotic and unpredictable. I actually tried it, the brand new version. Forget it, seriously. And from the feature set, it is seriously limited. You don't have a virtual file tree, it will replicate your filesystem structure 1:1. You cannot exclude certain directories or files from the build, except by physically deleting them from your source directories. It doesn't allow custom build tools (ie. for example something as simple as assembling all .asm files with NASM, and all .s files with GAS - doesn't work).


Quote: Original post by seanw
Calling it bloated isn't fair since it has a very advanced plugin architecture.

Ask CoffeeMug :) Eclipse wants to all and everything at the same time, yet stays mediocre at it (well, except Java), rather than focussing on a particular task and excelling at it. It's just too much - the emacs for the new generation. I like small, efficient and specialized tools. Eclipse is a monster, and it's extremely slow and sluggish to use.

Quote: Original post by seanw
I personally find MSVC really overrated and feel people just want it on Linux because they don't like learning new software.

Well, it's fast, stable, easy to use, relatively "unbloated", and it does a very good job for doing what it was designed for. Nothing more, and nothing less. I'm not a big Microsoft fan, but I think I can say that MSVC is one of their best products.

Quote:
There's a lot of good open-source project out there, like Apache, KDE, Gnome, gcc, Mozilla etc. so I don't agree with your comments about it's effects on quality

Of course there is good quality open source software, but they're still a minority. What is intersting, is that most OSS projects that really took off are backed by some company or strict committee for the logistics: Mozilla, KDE only really took off as they started cooperating with SuSE, StarOffice, Blender, etc.

Quote:
The fact that no money is involved changes the dynamics and politics a lot though. :)

That's exctly the problem. I really like free software, and I also like the non-proprietary open source idea. But the problem is organization of open source teams. In modern software development, indidividual skill is nothing, and organization everything. We don't need the lone hacker anymore, we need competent and efficiently working teams in order to produce complex quality software. Such teams require a strict hierarchy, and it is absolutely essential that decisions are respected by everyone on the team, without exceptions. The team must work like a single entity, there is no place for individual ego trips or "I have such a good idea, nobody likes it, but I'm going to include it nonetheless" things. Unfortunately, it's hard to organize such teams without having money involved in some way. Not impossible, but hard.
Quote: Original post by Yann L
it is absolutely essential that decisions are respected by everyone on the team, without exceptions.

In my experience, 99 times out of 100 a decision is just a logical outcome of weighting alternatives with respect to established priorities. If team members are reasonably good at what they do, everyone can just agree after discussing something long enough (most of the time, not really that long as the appropriate decision is painfully obvious). Now, that one time out of 100 when a decision is not obvious and there are purely subjective choices that one could discuss for months, a choice needs to be made. It could be a coin flip, a vote or a compromise between team members (you give me this one, I'll give you the next one) or a decision by a tiebreaker who's a project visionary (personally, this is my favorite). In any case, I don't have to agree with the choice. In fact, it's perfectly fine to disagree. Vast majority of these decisions are minor anyway and will affect the project in very insignificant ways. A good project is made up of tens of thousands of good decisions and if I disagree with one hundred of them, it's still fine. I don't have to respect the choice, I may think it's crap and is the wrong way to go but this is irrelevant as this decision will likely be insignificat so I'll just go with it. As long as every team member understands that from time to time they'll have to go with a decision they don't like, the project will run smoothly. It looks like many open source developers lack this basic and essential quality (hence all the forks, features that are out place, poor quality, etc.)
Quote: Original post by seanw
Eclipse is actually very, very impressive;

To me eclipse is impressive in the same manner as dinosaurs - impressive creatures that crumbled under their own weight. One *really* doesn't need about one hundred classes, half of them backed by some weird xml config files, to load freakin' plugins. I load plugins in my library using only a couple of classes and the system works perfectly fine. Eclipse has so many "concepts", each backed by a large set of classes, that nobody can keep track of them anymore.
Quote: Original post by seanw
it's more like a platform for developing IDEs on.

Not just IDEs. You can develop any application you like on it (which is what the company I work for is doing). Believe me, after you work with Eclipse's internals you'll stop appreciating it. In fact, I hate the damned thing by now. I don't know what the hell IBM was thinking. They could have accomplished exact same thing with 10 times less classes, 10 times less methods in the classes that are left and 100 times less work. If I was designing my own framework I'd be done with one third of the application already. With Eclipse platform, I'm still in the research stage.
I will never, Ever, EVER release any software as open source under the GPL or it's friends. I don't owe the world the blueprints to my software. If ever I release software as open source, it will be because I feel like the product is not commercially viable, or as bait to bring customers to my site. And when that happens, it will not be under the GPL. It will be simply released public domain for anybody to do whatever they please.
Advertisement
Hi,

I don't plan to get in the discussion, since I don't have a lot of experience with Linux OSes, but it seems to me that KDevelop (and some other developing software I've seen for Linux) are very full of buttons and small click-me thingees. What I like from VC is the fact that it's VERY simple. Often I just dock all my windows so that only the editor window is open. I'm often working in an 1024x768 environment so those click-me thingees are just filling the screen, and making it more chaotic (see screen KDevelop).

That's my opinion about IDEs.
Quote: Original post by smr
I will never, Ever, EVER release any software as open source under the GPL or it's friends.
This thread has been crapped up enough already, go whine in that lounge thread.

Yann, I'm not sure if gnome is going to like having gtk 2.6 dumped onto it. You might have to try out some gnome 2.9 development packages if you need the newest gtk. Gnome 2.10 comes out in feburary, anyway, so unless you were planning on releasing before then, it's not that bad of a target... (and the API/ABI freeze happens monday)

Do you really need gtk2.6? The only nice feature I'm looking for is that they moved this nice FileEntry widget from gnomeui to gtk.
Quote: Original post by Yann L
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.


That was infact the first thing to go after I installed VS.Net03, it was a nice idea but I noticed it had a tendancy to crapout every now and then, and personally I prefer have a 'previous projects' submenu on the File menu with the last 20 or so projects I've loaded.

Granted, in this instance it might not be an issue, I'll probably only use it for tweaking/recompiling stuff on linux, so it might not be such an issue...
Quote: Original post by C-Junkie
Quote: Original post by smr
I will never, Ever, EVER release any software as open source under the GPL or it's friends.
This thread has been crapped up enough already, go whine in that lounge thread.


It's not whining. It's expressing an opinion which may or may not differ from yours. After all, this _is_ a forum, and part of the title is "why I don't like GPL zealots," so I don't believe my comment was off-topic.

This topic is closed to new replies.

Advertisement