Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: General Open Source babble  (Read 3766 times)

0 Members and 1 Guest are viewing this topic.

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
General Open Source babble
« on: November 12, 2010, 10:56:21 am »
Continued from http://www.sfml-dev.org/forum/viewtopic.php?t=978 .

Quote from: "Groogy"
Suited for the industry... Not to a 100%... Got real world examples.

Without going into detail here, my opinion is that Open Source is the *only* way software can work. Unfortunately the world's economy is not yet ready for such a radical change, so I'm fine with people saying I'm an idealist. ;)

Quote
Legal issues are a pain. Massive Entertainment got sued for using a Open-Source implementation of Python.

Because of what? Didn't they follow the license text? Seriously, in this case Open Source isn't the bad thing, it's the company violating the rules. That's why licenses like the GPL stand for real freedom (in contrast to zlib, for example), because they enforce all users using code to release it under similar conditions

Quote
Most companies lawyers start to cold-sweat if you mention Open-Source. Several game studios has been and will be screwed by the Open Source resulting in fee's much more expensive than just buying something properly licensed.

Same reason here: Companies not seem to understand that Open Source doesn't mean just "free as in free beer". You can't just take Open Source software, use it and ignore the conditions. And that's why lawyers get headaches, because often they need to mix licenses which can't work together.

Quote
Also several Open Source projects are not stable enough for the industry or even the public.

That's not quite true. Open Source often seems to be "work in progress" because IT IS work in progress -- always. There's usually no release cycle like "Okay, not here is Microsoft Visual Studio 2007", "Here is 2010" etc. The reason is simple: Open Source software is created on demand, without the goal to earn money. Therefore Open Source software usually supports the stuff the creator (or users) NEED. If you're unhappy with a product, the philosophy is "Do it yourself" -- and give your changes back to the origin. This turned out to work very well.

Quote
OOo is a classical example.

I agree, Open Office is badly designed IMHO. Still it's more and more used by authorities and other instances in many countries. It reduces costs and bugs.

Quote
Something else would be Open-Source IDE. Most things you find out there does not cut it for at least the Game Development Industry. Also the support for it is not as good as something you pay for.

Well, if there isn't an IDE suiting for a special type of developer, then either nobody really needed one in the past, or there always have been alternatives that work. Xorlium mentioned two, Code::Blocks and Kdevelop. There's also QtCreator and a bunch of others. Others use a console and vim and are very productive with those. If there's a demand, it's highly possible that there will be a solution. And when not, jump in and create it if you want.

Quote
Open-Source projects are mostly maintained by hobbyists, nonprofessionals, and people who have studied the field but never actually practiced it. *aerhm* my previous teacher *aerhm*. I'm no exception to this rule. I like Open Source, I support the concept. But as the community is now, it can't compete with the non-open-source world.

That is just not true, in all points. At first, Open Source projects are mostly maintained by enthusiasts, and those kinds of people are everything but pure hobbyists or non-professionals, they do their work by heart, not because of money interests. Also, especially in the field of programming, you are already practicing your passion whilst studying it. Without getting arrogant and with a good conscience I claim that I'm better than much guys working in the industry, for pure money -- and I'm very sure that a lot of other people who love their "hobby" are much better than industry guys.

Quote
To quote Niklas Hansson (former Lead Developer at Massive Entertainment): Open Source has it's rare diamonds, but most of it is garbage.

I call that disrespectful. Do you have more of that crazy guy than that quote? I'd like to understand why he says something like that.

Quote
Have you used an IDE like Code::Blocks or kdevelop? In my opinion, Code::Blocks is just as good as Visual Studio (with the added benefit that it runs on Linux, Mac, whatever), and kdevelop is massively better (although harder to use, once you get used to it, it's waay better).

I think that's often a matter of taste. Personally I write all my stuff with (g)vim. Years ago I used MSVC6 and was happy with it, but nowadays I completely dislike the idea of allrounder IDEs. Everyone has to choose his preferred tool.

Quote
I do give that closed-source software is generally easier to use for the average user though, but to say "has its rare diamonds, but most of it is garbage" is a very misleading (if probably true) statement. Because there are sooooo many open source projects, and maybe 10% of them aren't garbage, which means there are many, many good open source projects. Sure, they aren't always so easy to find.

Closed Source software often just *seems* to be easier to use. Good example (again): vim and Visual C. 95% of all developers claim that vim is non-intuitive and hard to use -- indeed that's not true, it's different and you need to learn the way how it works. Another example is Blender: once you get used to the interface, you recognize how cool it was designed.
I think the main reason why closed source software seems to be easier to use is that companies are following semi-established human interface guidelines. They don't care about what works best for them, but for the majority of possible customers who are already used to processes that have been established in the past (like the Start menu of Windows, or even the Windows key on your keyboard).
Another point is habituation: When you've worked with Windows for 10 years for example, it will be incredibly hard to switch to another operating system like Linux in the beginning. Because of that many call it "geekish" and my question is always the same: What do you think would you say when you've learned to use Linux for 10 years and would then switch to Windows? Think about it. ;)

Quote
Apparently you haven't worked that much with Visual Studio. There's nothing on the market that beats it's debugger interface.

Again a matter of taste. A lot of people don't even use the debugger, only in rare cases. Speaking of me, I only use it when my console throws a "Segmentation fault" at me. Then I fire up gdb or ddd and check it. Nothing I miss there, but it depends on personal expectations, I guess.

Quote
Just like they did with their Office package.

You mean you think that MS Office is a successful thing? I think it is not. It has forced many people to get used to bad habbits for years. No separation between data and visual representation (of course it's possible, but do you know people who really take care of it?) and closed data formats (which isn't only bad for Open Source, but also e.g. for countries that don't have the money to power their computers with expensive software like MS Office) to just name two.

Whoops! That's a lot of text, hehe. I'm sorry, but I find such discussions very interesting. ;)

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
General Open Source babble
« Reply #1 on: November 12, 2010, 01:28:04 pm »
I'll also answer Xorlium's private message here:
Quote
I admit I haven't used visual studio in some time, but I have seen it used in debugging mode many times, and it didn't look any different from what you can do in Code::Blocks, and I can't imagine what other features one might want that the person I saw using didn't know about.

In Codeblocks you can set up break points easily just like in visual studio, add watches, etc. and go line by line or go to next break point, or add breakpoints while running... You can move the mouse over a variable while debugging and see its value and its address. You can see the call stack, the memory, registers (although I have no idea why you'd want to, but you can), etc.

What else do you want from a debugger? What does Visual Studio has that Codeblocks doesn't, other than a (subjectively) nicer-looking interface?

And as for code completion and code "understanding" and so on, kdevelop beats hands down anything I've seen from both visual studio and codeblocks. The only problem I see with kdevelop is that it forces you to use cmake. If you already use cmake, then that's no problem.


First on the Code::Blocks debugger. I was constantly having problem with it. When the application crashes for instance it didn't let me look at the variables in the scope that I had chosen in the call stack. VS does. In order to have any kind of automatic lookup to the variables without having to place watches I had to set a break point somewhere in the code. Also I couldn't hover my mouse over a variable in the code and see what value it currently got. VS debugger got everything Code::Blocks has, and more. I hope these things have been fixed in Code::Blocks now at least.

And to Tank. I'm just citing what they said, I'm still studying. What they got sued for was nothing that went against the licensing but that one guy who had contributed a bit of code to the project wanted to earn some extra cash. Some thing they whine about is also how they are forced to rewrite most of the code when they are using another project. Like I said, it is not the Open-Source idea that is the "bad thing", it's the community. There will always be someone that fucks it up.

Quote
I call that disrespectful. Do you have more of that crazy guy than that quote? I'd like to understand why he says something like that.

Yes, he's my teacher in Theoretical Programming where we are currently going trough multi-core programming with different paradigms :P

I prefer and believe in Open-Source, I myself use Linux as much as I can and have installed it on a Virtual machine here on school so I don't get insane over those pesky "little" things in Windows that always bugs me. I agree, it is all about what your used to, and actually I didn't have a hard time learning how to operate Linux either. When working on Linux I use gedit and gcc directly and nothing else. Though my bigger projects I use VS in Windows. I would SO love a Visual Studio with support for GCC on Linux ^^
I had a hard time trough my game development courses during highschool(think it's called that on English) since I tried to defend Linux all the time as a platform with the ability to have real AAA games on it and just like you said, that it's about what you are used to from previous years of using it. Also being a bit political, I'm a Socialist so I see money as a current necessary evil but Open-Source/Freeware is a step in the right direction towards a society without wage labor.
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
General Open Source babble
« Reply #2 on: November 12, 2010, 02:06:43 pm »
Quote
What they got sued for was nothing that went against the licensing but that one guy who had contributed a bit of code to the project wanted to earn some extra cash [...] Like I said, it is not the Open-Source idea that is the "bad thing", it's the community. There will always be someone that fucks it up.

I don't know the case you're describing, but isn't the community right here? Even if there's a guy who contributed something, which then -- of course -- becomes licensed like all the other code, he has got the right to enforce the conditions it's being released under. The point is: When you send in a line of code to a project that you know is under the conditions of the GPL, for example, and you agree to that terms, then no one can piss at the project or even you when they're trying to establish justice for their licensing.

You know, there're those publishers that whine and scream when people are modifying their big games. But when they take code from Open Source projects, that want to KEEP open, then it's the nerdy OS community that's bad. ;)

Quote
Yes, he's my teacher in Theoretical Programming where we are currently going trough multi-core programming with different paradigms

I think he's an idiot. ;) Btw, where are you from? Just out of interest.


Quote
Also being a bit political, I'm a Socialist so I see money as a current necessary evil but Open-Source/Freeware is a step in the right direction towards a society without wage labor.

It hasn't to be freeware actually in my opinion. Software can of course be a valuable thing, and noone can make a living without money in this world, so it's completely okay and justified to take money.

Groogy

  • Hero Member
  • *****
  • Posts: 1469
    • MSN Messenger - groogy@groogy.se
    • View Profile
    • http://www.groogy.se
    • Email
General Open Source babble
« Reply #3 on: November 12, 2010, 03:07:04 pm »
Quote from: "Tank"
Quote
Yes, he's my teacher in Theoretical Programming where we are currently going trough multi-core programming with different paradigms

I think he's an idiot. ;) Btw, where are you from? Just out of interest.


You might think he's a idiot but he's quite brilliant. And I won't argue against him as he got a lot more working experience than me in the field.(But he isn't always right of course!) I'm from Sweden. Just look under my name here to the left.

Quote from: "Tank"
It hasn't to be freeware actually in my opinion. Software can of course be a valuable thing, and noone can make a living without money in this world, so it's completely okay and justified to take money.

I said Open-Source/Freeware, not cause I think they are the same(but most if not all open-source is free) but like I said, they are a step in the right decision. I am not an extremist that says "Revolution! Get rid of inequality starting with raping our economic-system!", No I understand quite well and know that we have to transcend to such system slowly if it is even possible. Summation: It would be nice if it were like that :D

NOTE: Also I've tried convincing them letting me use SFML for next game project at the university but was utterly refused :(
Currently they are forcing us to use HGE which is also zlib licensed.
Developer and Maker of rbSFML and Programmer at Paradox Development Studio

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6286
  • Thor Developer
    • View Profile
    • Bromeon
Re: General Open Source babble
« Reply #4 on: November 12, 2010, 04:46:15 pm »
Quote from: "Tank"
That's why licenses like the GPL stand for real freedom [...] because they enforce [...]
Ah, enforcing freedom, ok. ;)

I know what you mean, but this "freedom" is the reason why I don't like GPL and why I am really glad a lot of libraries have a more permittive license.

Quote from: "Tank"
I think that's often a matter of taste. Personally I write all my stuff with (g)vim. Years ago I used MSVC6 and was happy with it, but nowadays I completely dislike the idea of allrounder IDEs. Everyone has to choose his preferred tool.
May I ask what you dislike exactly at IDEs, just out of curiosity? I'm very happy with tools that can semantically analyze the code, form corresponding class diagrams, propose auto-completion, show errors in realtime, or provide a wide range of semantic refactor possibilities. For bigger projects, these possibilities may be of great help. A comfortable debugger is another thing I really appreciate.

Quote from: "Tank"
A lot of people don't even use the debugger, only in rare cases.
That's a risky claim. And don't tell me a lot of people don't make mistakes. :)

In my opinion, a debugger is unreplaceable when it comes to reconstructing the program execution. Of course, one can do a lot of things with console output, logs and so on. That's also what I did before I knew debuggers. But a debugger is just closer to the program and directly linked to the runtime. If an assertion fails, the program stops at exactly this point. One can watch the different callstack levels, check the variables' values and step through the code, automatically being informed about state changes. All that without changing a single line of code. That's a very powerful tool with which simple logs can't compete. Of course, the combination of both is even more powerful.

Quote from: "Tank"
You mean you think that MS Office is a successful thing? I think it is not. It has forced many people to get used to bad habbits for years. No separation between data and visual representation [...] and closed data formats [...] to just name two.
I find, Microsoft Office is good software (successful it is anyway, regarding its spread, but that doesn't necessarily mean a lot). Meanwhile, I'm quite efficient at using it. But I have to admit, I don't really know the alternatives – not least because I am satisified with Microsoft Office.

I think you regard it a bit too much from a programmer's point of view. But Office is not primarily designed for programmers, therefore it follows a different philosophy. The "bad habits" you talk about probably aren't bad for the big part of the users. Concerning me and the most MS Office users I know, Word, PowerPoint & Co. provide pretty exactly what is required. When people don't separate data and visualisation, it's mainly because they don't need it. What may be a fundamental principle in C++ development, can't be applied 1:1 to text processing or presentations. And where the separation is still appropriate, it is possible through format style sheets, slide master etc.

Of course, MS Office also has its drawbacks. I remember the pain in older versions to place an image correctly. But I personally wouldn't call it bad software.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6286
  • Thor Developer
    • View Profile
    • Bromeon
Re: General Open Source babble
« Reply #5 on: November 12, 2010, 06:00:14 pm »
Quote from: "Tank"
Without going into detail here, my opinion is that Open Source is the *only* way software can work.
I guess the reasons are mainly the big community and exchange of knowledge, as well as giving the possibility to a wide user-base to have the software. I also like the ideas behind it and the fact that there is a lot of good open-source software out there, especially for C++. But I still think there is space for closed-source software, may it be because the authors don't identify themselves with the open source philosophy, or because of commercial reasons. An extreme attitude like open-source being the only way is not only idealistic, but also a bit intolerant.

You have spoken about the problem that poor countries wouldn't be able to afford Office, too. But I wonder why you treat software in such special terms? I mean, this applies to most commodities. Regarding material things like computers or cars, no one asks that question, since there is no way to just duplicate the thing. Every production is connected with costs which must be borne by somebody. Concerning "free as in free speech", the user doesn't have the possibility to see the internals either. Besides, patents exist to protect ideas.

I mean, it's very nice that open-source basically allows to share software to poor people. But I also understand that some people apply the thoughts of material commodities to software. I don't see a fundamental fault behind the fact that some developers want to receive money for their efforts directly in the product (-> "beer") and some want to protect their ideas (-> "speech"). An open-source license can't prevent people from stealing ideas, just from stealing concrete implementations.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

Xorlium

  • Jr. Member
  • **
  • Posts: 84
    • View Profile
General Open Source babble
« Reply #6 on: November 12, 2010, 06:12:38 pm »
Ah, so you haven't used Code::Blocks lately :)

Yeah, they've fixed all that and added plenty of features. I do remember that the debugger used to be pretty unstable, but that's no longer the case.

You say you want Visual Studio with gcc? Well, try codeblocks!

I just wanted to give a nice example of the goodness of open source: I am incredibly anal when it comes to colours in the computer. I just hate the standard black-on-white. It hurts my eyes and I hate it. I like to control every colour in my desktop. In Code::Blocks, there are a few colours you can't control through the options, and of course they chose white background. But since it's open source, I could go into the code, change it, and use it! I made a little patch and now I apply it to every new version.

The point is that if there's something (small) you don't like, you can always go into the code and, well, change it.

Now, I want to respond a little to some comments Tank made. I mostly agree with your points, but I don't agree with something.

First of all, just because someone is wrong about one thing (and very wrong at that) doesn't make that person an idiot :) I've learned that the hard way. I mean, this person's view is obviously biased, but I've learned that for most people, even super-smart ones, it's really hard to get rid of biases and pre-conceptions and so on. Of course, I don't suffer from that problem at all :)

Also, it's true that a lot of "easiness" is following conventions. And there is quite a bit of difference between productiveness and easiness. At first, easiness is the most important thing, and then, productiveness is. But it's not true that this means easiness can't be measured, just that one needs to be careful. And there's no reason why it can't be both, like SFML. It's very easy and very productive!

And finally, I'd also like to know why you don't use an IDE :) I haven't used vim . Could you answer a few questions?... Do you compile by calling g++ directly? Does it have auto-completion? can you click on a function and switch between definition/declaration and so on (or perhaps with a shortcut)?

Xorlium

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
General Open Source babble
« Reply #7 on: November 13, 2010, 12:32:39 pm »
Quote
You might think he's a idiot but he's quite brilliant.

Don't take my statement too serious. I would never declare a person an idiot because of one sentence he or she said. That's why I used ";)". What I indeed meant is that what he said is stupid.

Quote
I am not an extremist that says "Revolution! Get rid of inequality starting with raping our economic-system!", No I understand quite well and know that we have to transcend to such system slowly if it is even possible. Summation: It would be nice if it were like that

I am an extremist and idealist, that's why I have those stubborn opinions. I know it can't work these times, but there's already a lot of progress in the sector where people understand that the current economy is not ideal in all cases. To cite you: "It would be nice if it were like that". *sign*

Quote
Ah, enforcing freedom, ok.  
I know what you mean, but this "freedom" is the reason why I don't like GPL and why I am really glad a lot of libraries have a more permittive license.

Yeah, it's really enforcing freedom, so says the license text. It may sound weird to force people to keep the freedom up. But in my opinion it's needed especially for those people who really want their stuff to be free (as in speech) in the future, so that people who want to hide other's work can't just do it.
And it's of course okay to have another opinion and dislike licenses like the GPL. I am just saying that I think it's the only way software can work.

The reason why it doesn't work in commercial settings is that they are, uhm, commercial. ;) When company A releases their superb 3D monster engine under the GPL, they will probably get finance problems. However, looking at it from another view, everyone would just benefit from it. The big drawback is of course that those people need to earn money to make a living, and I'm also quite unsure of models where both principles can be combined. But I'm sure it'd be possible to do it.

Quote
May I ask what you dislike exactly at IDEs, just out of curiosity?

Sure. At first, there's the editor. I haven't found one IDE that has a really strong text editor, which is one of the most important parts in programming I guess. Some IDEs allow to use external editors or even embed them, but that turned out to not work as it's supposed to be (I tried it with MSVC and Eclipse for example, just for interest). Another thing is that IDEs come with rules you have to follow. For example there're projects, solutions, dependant configuration settings, platform-specific stuff, editions of IDEs etc. pp. Then IDEs try to be allrounders. They provide an editor, project explorer, outliner, debugger, refactoring tools, auto-completion, build tools, configuration tools, GUI designers, ... Some love this fact, but I'm more a fan of "one program, one task", so I can choose the best tool for every part and combine them as I like.

Quote
That's a risky claim. And don't tell me a lot of people don't make mistakes. [...]

Hehe, surely not. And to be honest, finding and fixing errors is one of the interesting parts in programming, isn't it? ;)

I can understand why many people are used to the debugger. I got used to just think a lot more about my code and execution structure. This can take some more time sometimes, but it gives you those "Aha! D*mn" moments that I think are incredibly important to fully understand the problem and make you avoid similar problems in the future. Also it gives me a better understanding of what really happens, instead of checking a variable and thinking "Okay, here's the error, let's go back a bit and check where the wrong statement is". Maybe the difference between using a debugger and not using one is that the debugger shows you more the problem in your code, where your brain uses a little more abstraction. ;)

Quote
I find, Microsoft Office is good software

It is good software when used right. Sadly the default approach for users is to use it wrong.

Quote
When people don't separate data and visualisation, it's mainly because they don't need it. What may be a fundamental principle in C++ development, can't be applied 1:1 to text processing or presentations. And where the separation is still appropriate, it is possible through format style sheets, slide master etc.

Exactly, they don't need it. But I've stopped to count the moments where I was really pissed when they didn't do it. (happens a lot at university, when two guys are working on one report, for example. It's usually a pain to modify the documents so that they look and feel like it's from one person) And it's really not only a fundamental principle in C++, it's a principle that applies to all sectors where you have to visualize data.
A good example is the web. In the past, when Frontpage etc. were dominating the market, there were problems all over the place. The tools mixed data with its representation (and ignored standard, but that's another topic) thus leading browsers to faulty displays, very static ones or it raised problems for disabled people who're forced to use screen readers, for example. As the time passed by, more and more people found out that the separation of data and its represantation has benefits, for example to change the visualisation without touching data at all (this was the main reason; fortunately it made disabled people happy, too ;)).

And this fact also applies to documents. MS Word, OO Writer etc. do mix data and visualisation completely, which is a bad thing in my eyes, because the same reasons apply. When you take LaTeX for example, then you're mostly only writing the data part, and the LaTeX compiler does the rest. You can still modify the visualisation, of course, but important is that you can *re-use* your data for other media or whatever. Another example is XML with XLST, very powerful.

Quote
I guess the reasons are mainly the big community and exchange of knowledge, as well as giving the possibility to a wide user-base to have the software.

My main reason is the knowledge thing. I am so thankful for so many projects that are Open Source and I was able to learn from. It's a thing that can't be paid with money and is so much important to get new innovations more quickly and less error-prone.
Another big reason I like is that I'm able to modify programs to suit my needs and that I HAVE to send them back when I plan to release it, so that others can benefit from it. This is such a strong principle and it turned out to just work perfectly. Open Source wouldn't be such successful nowadays when licenses didn't force people to keep the freedom alive. ;)

Quote
But I still think there is space for closed-source software, may it be because the authors don't identify themselves with the open source philosophy, or because of commercial reasons. An extreme attitude like open-source being the only way is not only idealistic, but also a bit intolerant.

It may be intolerant, but it's still my point of view. :) If it *would* be possible to do it that way, then it would be perfect. Of course I'm not so stupid that I say it is indeed possible, at least not these days. I can understand that people need to make money to feed their children, and I'm also doing closed source stuff just to be able to live. But I'm really not happy with it.

Quote
But I wonder why you treat software in such special terms?

Because software is different. Software is knowledge and can be compared to books, for example. You can call me oldfashioned, but in my opinion knowledge should be free, always.
You have to differentiate between the pure software and its distribution, for example, which also counts for books. Distributing software means to pay for packaging, shipping, material (CDs, DVDs, whatever) and the manpower behind all that stuff. But it doesn't mean that the software itself, the knowledge inside it, must cost money. The same goes for books: You have to pay the lecturer, the publisher, the printing office etc.
Sure, it's a complete ideal point of view, I know that myself. But infact there're so much "products" that do it like that already: Pay for the stuff that costs money, get the rest for free (in terms of beer and speech).

Quote
Regarding material things like computers or cars, no one asks that question, since there is no way to just duplicate the thing.

Yes, but the times were different in the past. 20 years ago, when you bought a computer, you got all that datasheets and internals. You were even able to catch your soldering bolt and hack the board, which was absolutely great, really. The material was sold, but knowledge was open. As more and more people got interested in computers, companies were attracted whose goal was to make money, not more, not less. Do you think we would still have all those incompatibility problems if the world would be more open?
The same goes for patents, like you said. In my eyes patents are the root of all evil. It prevents people from reworking on ideas others had. And isn't it a pain that ideas, that already existed (you do never invent ideas, you discover them), can be patented so you're the only one who's allowed to work with them? In my eyes it's only fear that others can make it better -- and to connect that with the today's world: Make more money, because the product is better.

Quote
An open-source license can't prevent people from stealing ideas, just from stealing concrete implementations.

And that's the point. Ideas are there, everybody can have them, so you can't really own one.

Quote
At first, easiness is the most important thing, and then, productiveness is. But it's not true that this means easiness can't be measured, just that one needs to be careful. And there's no reason why it can't be both, like SFML. It's very easy and very productive!

You're right. The only thing I want to add is: How do you define easiness? I think something is easy when it's like other things you've worked with in the past, not more, not less. When the first cell phones came out with their "new" keyboards, I bet it first was a problem for many people, and they called that complicated (many older people still call it like that). But once they got used to it and found out that it works good, it became easy.

Quote
Could you answer a few questions?... Do you compile by calling g++ directly? Does it have auto-completion? can you click on a function and switch between definition/declaration and so on (or perhaps with a shortcut)?

At first, before answering your questions: You have to stop comparing vim with your current IDE. It's like comparing Windows and Linux, it's not possible. You're able to reach your goals with both of them, but it may be done in completely different ways.

I usually compile using SCons (SConstruct), scons.org. vim does have auto-completion, yes (if you mean something like IntelliSense, then yes, that's also available and called omni-completion). Yes, you can click on a function and switch between declarations and definitions. Natively vim has support for that for C, only, I think. However there're tons of add-ons for such things. Shortcuts are always possible. You can map any key to any function.

It's important to treat vim like what it is: an editor. It doesn't do refactoring for you, and it doesn't embed the debugger, it doesn't have an outliner in the raw version etc. Either you use add-ons for such things, or you use other tools that are specialized for those tasks. Personally I'm mostly fine with the regex substitution and search, since they're very powerful. And that's by the way something why people are afraid of using vim. They think they will do a step backwards. ;) Speaking of myself, I can guarantee that's not the case, but you must be fully ready to learn a complete other approach and work cycle than with any IDE you experienced before.