Virtues of Monoculture, Or Why Microsoft Wins
blackbearnh writes to ask, "Why does Microsoft win the development environment war so often, when we all know it's a lifetime lock-in to Windows? Perhaps it's because the open source community offers too much choice." From the post: "Microsoft offers the certainty of no choices. Choice isn't always good, and the open source community sometimes offers far too many ways to skin the same cat, choices that are born more out of pride, ego, or stubbornness than a genuine need for two different paths. I won't point fingers, everyone knows examples... The reality is that there are good, practical reasons that drive people into the arms of the Redmond tool set, and we need to accept that as a fact and learn from it, rather than shake our fists and curse the darkness."
This really needs to be put in a FAQ somewhere.
Does this author have a valid point? Probably
Is this point, and any relevant discussion, different from the last time this was brought up a few months ago?
Probably not.
A monoculture is not 'diluted' by various compteting camps. The very nature of Open Source allows for such diversity that it will obviously be split ito smaller groups of enthusiasts. It's the nature of the beast.
"Why does Microsoft win the development environment war so often, when we all know it's a lifetime lock-in to Windows?"
Isn't Mono suppose to change that?
What the monopoly says, goes. They define a standard. Because they're MS, they define a standard that's different and incompatible with official standards. You either go with the market, or you swim upstream. This is about as clever as saying, "the reason red is red is because it's not yellow."
Nothing to see here. Market forces and ease of use win over features, stability, or quality.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
As in - Why not limit the number of websites? Too much choice!
http://stephan.sugarmotor.org
Interestingly enough, I had this arguement today with a co-worker. Choice and flexibility afforded by open source and more importantly open standards will pay dividends for companies that think long term. The shrink wrapped mono-culture beat can be the less expensive option in the short term (no retraining, prepackaged apps with ready training and documentation, cheap labor). But, open with lots of choices wins in the long run every time because it gives ownership of IT to the companies that use it instead of the companies the produce it. Freedom and choice may be the difficult choice in a short-term return corportate culture, but the companies that embrace open standards will be the long term winners.
This article assumes that open source developers are aiming at becoming Microsoft like. Maybe they're just in it to make good software: not a profit, not make money for shareholders, or anything that that Microsoft is obviously aiming for. And the article is also using a very narrow definition of "win", one which I'm not sure is possible for OSS to attain.
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
The problem isn't the choice, it's the follow-through. Open Source software maintains its momentum as long as there is an itch to scratch. As soon as that itch is satisfied, the work stops. Even if the code is unsuitable for your average joe. Technically, this is where the commercial distributions are supposed to pick up the slack and do the rest of the work. You know, offer an integrated Linux environment. Something to make all that money we're throwing at them worth something. But they don't. And I have no idea why.
:-/
Perhaps the most telling event was when I got a copy of Sun's Java Desktop System. It was a complete SUSE-based distro with Sun's unified desktop on top of it. I forget what the exact problem was, but in order to change a *BASIC* system setting, the instructions required that I directly edit a system file.
Excuse me?
This little gaffe was repeated by Mandrake with its command-line audio setup. RedHat with its inability to automatically handle its own damn package format. So on and so forth. I forget how many times integrated tools should have existed, and... well... didn't. I won't even get into the "broken by design" GUI choices of GNOME.
Now Ubuntu has been slowly trying to push this back; to make Linux a bit more user-friendly. But it's just one distro among many. There needs to be a concerted effort from all companies that SELL Linux. They need to give as good of an experience as they can possibly give. Simply repackaging the same software with a new GUI theme isn't going to cut it. They need to actually spend some money on covering the gaps that the unpaid community isn't going to cover. (I mean, let's be reasonable. They're not getting paid to develop a boring dialog and test flipping the switch 300 different ways.)
The development tools themselves are fine. In fact, Java is pretty well covered by Eclipse and Netbeans. If Linux distros make more of an effort to integrate the (now OPEN SOURCE!) Java into the system, they can make developer's lives even easier. Mono is also an acceptable choice, but the key thing is to get it integrated. Make your commercial Operating Systems FEEL like commercial Operating Systems. Not hobby OSes that have a nice coat of paint on them. In other words, maybe you commercial guys could pull your weight a little? Maybe?
* Ok, you can start flaming me now. I'm sure I've said something that offends distro X fanboys. Bring it on so I can ignore it.
Javascript + Nintendo DSi = DSiCade
backslash: http://ask.slashdot.org/article.pl?sid=06/11/22/15 51236 m l
and the original Joel blog post: http://www.joelonsoftware.com/items/2006/11/21.ht
In advance, to any GNOME fanboys (because I feel like I'm on the front lines of that holy war): this doesn't mean people shouldn't be able to do things. If it's easy to learn how to do things, then it's *great* to be able to do things. By 'things', I mean reassigning hotkeys, and changing the contents of the toolbar. The interface for these actions is uniform across all of the core KDE apps and many of the peripheral ones, so after learning just one simple gui, the user gains great control over all the programs in his KDE desktop.
Does anyone even watch the Daily Show anymore? I mean other than you.
I like the way this guy thinks. Why not just put one person in charge of everything. Call him king and just obey his every whim. That'll make everything perfect.
There's plenty of choice on Windows. The only difference is that these choices involve paying money for things whose worth you can't evaluate until you've used them for longer than a month. Branding helps tremendously in such a situation, as does bundling, both of which MS has in spades.
.NET languages
Some examples of choices developers have on windows platforms:
* IDEs - visual studio, eclipse, netbeans, dev-c++, codewarrior, just to name a few I've used
* The various
* Databases
* Webservers, IIS, apache, or something else?
* antivirus, Vista tried pretty hard to end all of these though.
If you're just moaning about how Microsoft has a large vertically integrated set of tools, well, there's Java. Nobody does this, because its stupid and they have the choice not to.
I Browse at +4 Flamebait
Open Source Sysadmin
I choose the danger!
"What the monopoly says, goes. They define a standard. Because they're MS, they define a standard that's different and incompatible with official standards."
.NET standard, or the Mono standard?
Would that be the
"Nothing to see here. Market forces and ease of use win over features, stability, or quality."
Well considering the story is about development environments (I'm not certain how desktop environments got dragged into this). Are you saying that Visual Studio is incapable of producing quality code that's stable? Or is two and three a function of the programmer wielding the tool, and not the tool itself?
...is not because open source offers too many choices. After all, Microsoft's products are still a choice among many other solutions. The reason why much of us still use Microsoft software (to be more specific, Windows, Office, and programming environments related to those two products) is because of a few reasons:
Microsoft alternatives do have their merits. To use operating systems as an example, OS X is a great general purpose OS, and I love the customizability of open-source OSes such as Linux and BSD. However, most software is written for Windows (you're guaranteed to find a Windows software package for almost anything, whereas you'll have to search harder when using an alternate platform), and if you have a Windows problem, somebody will know how to fix it.
I admit, I'm not the biggest fan of Microsoft. However, most of us can't avoid their software, like it or not. After nearly a year of not having a Windows machine, I installed a Windows partition to do class assignments. I don't like Windows, but I need to do what is necessary to complete the assignment. For some people, replace assignment with job and add "to pay the bills."
I don't think MS's monopoly will last forever. But, for now, expect to be still using Windows and other Microsoft solutions. When you are in a lion's mouth, wiggle until you wiggle yourself out.
Saw the headline, immediately groaned "Oh God, not this sh*t again!" And I'm only an AC!
Once again for the whole thread to follow: if having too many choices bothers you, then just pick one tool for each job at random, cling to it for life, and refuse to acknowledge that the others exist. After all, that's how a lot of you became Windows users back in 1995...
The "problem" that open source based systems have isn't all that complex - it's their tiny "market share" that holds development back. Various flavors of distribution just fragement the tiny market - even if every distribution sang the same tune it wouldn't change the big picture.
The way to "fix" this is to help others to migrate to Linux systems. With the open source advocates pulling - and Microsoft pushing (with their anti-consumer acts) it's a sure win for Linux. It's going to take some time to get there, though...
This is why there is only 1 car manufacturer. 1 brand of soda, shoes, toothe paste and so on.
Consumers would get confused if they had to choose from 15 different versions of laundry detergent, so we only have Tide.
It's not a lifetime lock-in when they discontinue your entire development environment and language. Yep, by discontinuing the VB6 language they saved us from that terrible lock-in. Now we are free to re-type those millions of lines of code (and years of effort) in another language on any platform we like. How thoughtful of them.
I was thinking about all of this just yesterday - At work I develop code almost entirely in Visual Studio (98, 2k3 and 2k5) with a little netbeans on the side when I have to deal with Java. I installed Ubuntu 7.04 on the weekend (haven't used Linux in a while, thought I'd have another play). Now I have KDevelop, Eclipse, GCC+Vi, GDB, DDD, KDB, and about 15 other tools that all provide portions of what MS VS wraps up in one neat package, and none of them do it with half the quality. Eclipse is not bad, but 1. It's written in Java, and fairly slow, 2. Debugger integration was average at best and 3. The GUI is overly verbose, borders are too big etc. There are other issues but I guess most of them dissapear with prolonged usage (I'm still not 100% happy with Visual Studio, and I've used that for years).
My point is, Microsoft has made it MUCH easier for developers than Linux, at least for in-house software development. I must admit that there are some benefits to Open Source development tools for distributed development, but not all that many - Svn/Cvs are equally as usable under Windows (if not easier, with tortoisesvn/cvs), Cygwin covers a lot of gaps for GNU-Win32 development, etc.
I don't know if it's the amount of choice or what, and I must admit I haven't used KDevelop in a long time, it may be really awesome by now, but I really don't look forward to the day when M$ explodes and I am forced onto Linux/Mac OS X (I hear the Mac OS X IDE of choice is pretty nasty).
Will program for karma.
Keep in mind that monoculture has disadvantages too.
Variety, for example, is necessary for adaptation, creativity and resistance to disease.
If you read my comment, smartass, I'm wondering whether McCain's failure tonight was too stupendous not to be noticed. You're right, though—Daily Show nowadays fails even harder than Colbert.
Guess what? We all know that. We've tried Eclipse and KDevelop and Glade all your other tools. You have pretty cool languages but you insist on keeping your barriers artificially high by forcing a primitive toolset on everyone so that only the anointed few can develop software for your platform.
Of course one of the core problems is someone like this, who from the article seems like the quintessential "Microsoft sux" type-A personality suddenly realizes that Microsoft (and Borland and others) have been writing far superior development tools for the past ten years that actually increase developer productivity and having great success at it. What an idea! Having to learn 14 different tools to get something done might be good for bragging and leetness, but they kill productivity. In the real world, that kills the deal.
Imagine what kind of killer product you would have if you paired Ruby with a good IDE and a good graphical debugger. Or Python. A good front-end to MySQL that's actually easy to use. Or an admin tool for Apache that makes sense. But "ease of use" is not "leet", so no dice. "We don't want VB in Linux". That's a great attitude, and it will continue to perpetuate the idea that Windows is the only "easy" platform to write software in, with Microsoft tools. There's no reality distortion field here - that's just the truth.
So much potential wasted because of a culture that idolizes unecessary complexity as if it were a badge of honor.
Just maybe its that until quite recently the Microsoft development environment was vastly superior to anything being offered by the Open Source community. There were quality development and debugging environments from MS and Borland. More dev editors than you could shake a stick at. There was easy integration with multiple databases and it was easy to develop slick front ends to this data. There was tooling availabe for easy project management and application testing.
Maybe Microsoft actually copped on to the fact that businesses wanted tools to build the apps they needed while the Open Source community were patting themselves on the back about how cool and fantastically leet they were for having text editors and shell scripts.
Whats interesting is that the two current leading Java Open Source IDEs (Eclipse and Netbeans) are both tools which started out life intended as commercial offerings but were donated to the community by IBM and SUN.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
The solution to his problem is not to get rid of one of them, but to put something in the documentation for AXIS saying "If you're working on a web service project, you may be better off using XFire." The fact that an open source project is able to recommend another solution like this is a strength. In contrast, a company (in this case Microsoft) with a vested interest in promoting its own monoculture is unlikely to tell potential customers to go elsewhere.
Conversely, if you have a choice of near-identical tools, any of which would be acceptable, why not just pick the one which is most popular at the time? This leaves you at the mercy of programming fads, but if you want a monoculture, you should expect that anyway.
If you all Google Slashdot, will it Slashdot Google?
Remember those old "Celebrity Deathmatch" shows? I'd pay to see a Stephen Colbert vs. John Stewart deathmatch.
Then you have no chance to compete against MS on any level. But this is slashdot....so this will be called flamebait/trolling/etc. So much for the open mindedness. *checks AC*
So what if I have a choice between openoffice.org, abiword or LaTeX to produce my documents? As long as I save it as a PDF, anyone can read it. If I use Microsoft Word, I either install a 3rd party program to save it as a PDF, or require that the people I send the document to have the same version of Word as me, running on the same platform. Disclaimer: I didnt' read the article.
Competition is GOOD.
Choice is BAD.
meditate on it...
The way to "fix" this is to help others to migrate to Linux systems. With the open source advocates pulling - and Microsoft pushing (with their anti-consumer acts) it's a sure win for Linux. It's going to take some time to get there, though...
It's those MS tactics that treat consumers like criminals like Activation and WGA/WPA that have finally driven me away from MS. Though I'm using Windows now my desktop replacement PC came with Linux preinstalled, I haven't compleatly switched yet due to not having the new PC ready yet, and for a laptop I plan on getting a Macbook Pro.
FalconShould there be a Law?
The people paying money for commercial Linux distributions aren't Uncle Ed and Aunt Martha. They're corporate or government IT departments, and they don't need every setting available to the GUI.
What you want requires a commercial distribution target for pre install on low end consumer grade equipment. Even ignoring the Microsoft tax, such a proposition is a bit shakey, financially.
"If I use Microsoft Word, I either install a 3rd party program to save it as a PDF, or require that the people I send the document to have the same version of Word as me, running on the same platform. "
Or you could save them as RTF and save the excuses for slashdot.
that's basically what it says. "people dont want to be presented with a choice".
now i dont have a high appraisal of the general public and am not particularly fond of humanity in general, but that's insulting even for my outlook and sounds like monopolist propaganda.
"people (in a capitalist society) don't want choice"
"black is white"
"freedom is slavery"
then again we are presented with 2 viable third party candidates every election and nobody votes for them because they believe the propaganda of "a vote for a third party is a wasted vote".
VLC FOR MAC IS DYING! IF YOU DEVELOP, PLEASE SAVE IT!!
Duuuuuuuuuuuuuuuur CHOICES ARE TOO HARD! Duuuuuuuuuuuuuuuuuuuur!
I'm a .NET developer going on about 5 years now, and we have a great set of open source development tools at our disposal.
.NET implementation for the MVC (Ruby on Rails flavored)
.NET interpreter-driven language. Brail is a MVC framework for Boo.
.NET, also open source.
.NET realm.. .NET's a great foundation to build with, and from my experiences, sometimes its nice to keep the C# language, but use alternative frameworks to get a higher degree of control!
MonoRail is an open source
NHibernate, NEO, IBatis are open source relational persistence libraries for Object Relational Mapping (kinda like EJB, Hibernate etc...)
Boo is a, open source python-flavored
Spring.NET, Microkernel, and Windsor container are dependency-injection libraries for
These are but a few of the community developed frameworks for the
-pete
A major problem, in my opinion, that a lot of open source products have is the lack of decent documentation. Everyone wants to code, no one wants to document. I'd be here all day if I tried to list all the open source products I've looked at and tried that I gave up on simply because there was no documentation, or only poor documentation, and I had to move to something commercial that was at least properly documented.
And before someone drags out the dead horse named "why don't you document some of these projects", the answer is I can't document something I can't figure out how to use. And as others have already pointed out, a lot of open source software is not intuitive.
I want a new quote. One that won't spill. One that don't cost too much. Or come in a pill.
For the umpteenth time, I will continue to point out that until there is a viable option for Exchange Server, there is no contest here.
Spare me the obligatory list of all the 'it does some of Exchange' products. Exchange is literally cemented into the Enterprise space, because nobody has done anything to replace it. If you want Exchange, you run WINDOWS. You run OUTLOOK, which means you buy OFFICE.
I am so tired of people trying to come up with all these stupid, philosopical excuses for why the Microsoft juggernaut continues unabated, no matter how much bad press or ill will the industry can throw at them.
Exchange came along and filled a gap that nobody wants to pry open with competition. So for what its worth, the battle is over, and everyone must hope-wish-prey that they can convince people to move to a web based solution. (get real)
You want to beat Microsoft, you gotta beat Exchange, bitches. That's it.
I prefer Apache since it's free but....
s t.html .
This goes for virtually every non-default configuration of Apache and IIS but here are a couple examples.
Allowing only certain IP addresses to access a website:
Apache -
1. Research on the web how this is done using Google.
2. Find something called "mod_authz_host" and an example of its use here http://httpd.apache.org/docs/2.2/mod/mod_authz_ho
3. Get confused by all the different examples.
4. Attempt to insert "code" into httpd.conf to limit access to certain IP addresses.
5. Test to see if it worked.
6. Research, edit, test more as needed.
IIS -
1. Click a few buttons
2. Enter IP addresses allowed.
3. Test (it works first try as expected since editing was intuitive).
Use SSL:
Apache -
1. Research on the web how this is done using Google (lots of research).
2. Install something called OpenSSL
3. Copy a few files to a windows directory
4. Find an openssl.cnf file that doesn't exist with the OpenSSL install for some reason.
5. Create a SSL certificate using command line.
6. Due to legal/political constraints, download a different copy of Apache with SSL from a strange 3rd party website and replace current copy of Apache that you had installed.
7. Make several changes to httpd.conf file.
8. Install this new Apache as a service using command line if needed.
9. Make several more changes to httpd.conf file (uncommenting LoadModule line, including ssl.conf in an IfModule thing).
10. Copy the certificate files made earlier to an Apache directory.
11. Edit ssl.conf file on several lines to identify server name, document root directory, then also include the certificate path.
12. Restart Apache, pray it works.
IIS -
1. Go to website properties using GUI
2. Click Directory Security tab
3. Click Server Certificate
4. Follow Web Server Certificate Wizard to create certificate.
For extra credit, require SSL connection - In Directory Security tab, Secure Communication area, click Edit, and check the Require secure channel SSL checkbox. I gave up on that for Apache and figured out some way to just forward requests to https (a bit of a hack it seems).
Things just seem more intuitive when using IIS rather than editing conf files and hoping things work in Apache. There is a lot less frustration. It's a shame. Yes I did look for 3rd party Apache config GUIs and couldn't find anything that looked good.
simple, fast homepage with your links: http://www.ngumbi.com/
It's not about too much choices, it's about easy choices.
The writing is on the wall for Microsoft. Sure, they've had the developers in the past, but I think it's only a matter of time before they jump ship.
Lots of people aren't too happy with Vista, and OS/X, Linux, and BSD are gaining ground.
The keys to the kingdom are backward compatibility, always an MS strong point. But the open-source community has this nailed -- the POSIX API's are over thirty years old, and won't change. It's only a matter of time before Microsoft changes just enough so that developers can't rely on them to be rock-solid anymore, and there will be a mass exodus.
It will start with specialized apps like video and audio editing software (already happened to some extent) and gradually will work its way through the entire business suite of tools.
Some years ago, I offered to write a Postgresql database app for a small business. They refused, saying they wanted to use SQL Server, even if it was more expensive, since "Microsoft isn't going anywhere anytime soon."
Today, I doubt there would be that same certainty. Ten years from now, I expect the tables will have completely turned, with Linux based apps seen as the "old reliables" that never go away.
If moderation could change anything, it would be illegal.
Oh, god, what bullshit is this! Choice is not a problem! If choice was really a problem, then somebody would create a Linux distro with no choices. "Sit down, shut up, and run the software we choose". Except, nobody does that because nobody wants that.
r tz-master-chooser.html
The whole "choice is bad" meme is complete and utter nonsense. http://angry-economist.russnelson.com/barry-schwa
Don't piss off The Angry Economist
I'll admit, the difference between Kdevelop (KDE's IDE) and Anjuta (arguably the GNOME alternative) are trivial but too often annoying in reality. But there frankly is a reason why I, among others use Kdevelop: It simply looks better than everything else in KDE. Now, of course, because it is linked in deeply with KDE as a whole, unless you upgrade every time a new KDE release comes out, the development libraries&junk may fall behind. I upgrade about every 6-8 months, but I see how, if somebody didn't, that could be a huge pain. But Anjuta, though it uses GNOME/GTK+ libraries (GTK+ is used for almost all programs, but the GNOME variants can cause trouble), it isn't so deeply linked in. So this deepens the debate, especially since the two environments go forward at often random paces. When I started using GNU/Linux, I got frustrated at this, and it caused me to use my Windows IDE, Microsoft Visual C++ more often. Because it has its own formats for organization, I started becoming more dependent on it as I added more headers and crap. That is why Kdevelop gives Microsoft market-share. I think, but am not sure that KDE is the most common desktop environment. Ubuntu may have altered the balance, though.
i'd say thats about spot on. when presented with more then 2 choices most people um and err for ages then just randomly pick an option based on what colour the like, or which has the biggest logo. and i would definately agree that many OSS projects are forked out of ego clashes.
If you mod me down, I will become more powerful than you can imagine....
yeah too much choice...it makes no sence http://www.runescapeblog.cn/
If they were open source you'd first have to put the soda together yourself and the documentation would be incomplete. Come to think of it I'm sure the cars do exist and we all know about he open source beer, right?
Next time you want to go out for drinks just tell your friends it will be a few weeks until their ready (or pay someone to do it for you...or just get tired of it and pick up a six-pack of propriety beer from the supermarket..). (:
Quack, quack.
Oh, it's helpful, all right. For instance, the only reason we've not released a port to linux - a free version, of course, we'd like to give back to the community - is because there is no standard GUI layer. It's a hodgepodge of these widgets and those widgets, this license and that license (really meaning, these liabilities and those liabilities.) Windows provides all that. Free. Built in. Plus a large market. So we developed for them. When Windows became intolerable because of activation DRM, we moved to OSX. Nice GUI layer, free, built-in. development proceeds apace, while linux runs servers. Others may have other reasons, but those are ours. The day the linux core gets BUILT-IN windowing and graphics, and I do NOT mean just xwindows or xwindows plus yet another sometimes-there and restrictively licensed widget set, is the day we make a port that we will release to the community. The community can then, of course, use our stuff or not as they see fit - but as is, it's not a choice. That's been the unanimous decision of the linux community: no coherence.
I want to say one more thing. The existence of a standard GUI layer in NO way means that you can't still have everything you have now. You'd just have one more thing, something people could write to as a default, even just as a fall-back.
That's my 2 cents.
I've fallen off your lawn, and I can't get up.
Sort of like the way the command economy of the Soviet Union did such a great job of both competing with the "chaotic" capitalist west and, at the same time, creating a "workers utopia?" The Soviet Union failed at both the same way the Microsoft monoculture neither provides as stable and secure of a computing environment as open source nor does it meet the needs of specific groups of users. With Microsoft monoculture, one size fits all whether you like it or not. For most applications, Linux provides a plethora of choices from several well designed GUI applications to powerful command line utilities. These choices allow the user to determine which alternative suits his or her needs best.
Continuing with my analogy, the arguments in favor of Microsoft's monoculture remind me of the same ones offerred by Lenin. Stalin, Khrushchev, et al when they argued that their socialist, centrally-planned economy would triumph over the chaotic capitalist system. We all saw how that played out.
Looking at the latest excretions from Redmond, Microsoft seems to only be interested in extracting more money from their users by offering less functionality for more money but with a glitzy interface. Capitalism will slowly drive companies that see Microsoft's offerings for what they are to use open source alternatives and be more profitable than those that pay squeeze to Redmond. People will find a way to manage open source choices in a corporate environment (sort of like the way "corporate distros" like RHEL and SuSE already do). Speaking from experience, it's not at all hard to lock down a RHEL installation while managing the updates and the choices available to users.
Real choice drives real innovation. Lack of choice results in stagnation.
Cheers,
Dave
They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
Ben
Open Source software maintains its momentum as long as there is an itch to scratch. As soon as that itch is satisfied, the work stops. Even if the code is unsuitable for your average joe. Technically, this is where the commercial distributions are supposed to pick up the slack and do the rest of the work.
Oh yeah, like Gnome and KDE are so stagnant and the commercial vendors have better polish. Get real, only Sun has managed virtual desktops yet. Mac is intersting but the free desktops just blow it away. KDE, Gnome, Enlightenment and many others have more polish than any non free desktop.
Dipping down to polish shows just how far free software has come. The deniers used to say that free software could never make an easy to use GUI because they had no clue about Joe average. The above is a pathetic variant on that theme because many well documented free desktops that a 5 year old could use have been made. Before that, it was that free software can't make a well documented userland, a kernel, a compiler an editor and so on and so forth.
I dare you to compare the experience of installing Mepis to Vista, XP or OSX. Mepis is autoconfiguring and does everything in about 20 minutes, while the other systems force the user shuffling CDs for basic productivity software, drivers and other nonsense that should just come with the computer. The collapse of Vista sales is going to force Dell and others to ship gnu/linux and that will be the end of M$ - preconfigured easy to use and maintain gnu/linux systems will catch on and leave the legacy systems in the dirt.
Friends don't help friends install M$ junk.
Just call it what it is: Economics of scale. The more people use Windows, the more support (programs and service) there will be for Windows. OSS is small and scattered, so support will be also. It's like running your car on petrol or ethanol. Ethanol is better (just for arguments sake), but why doesn't everybody use it? Because the infrastructure isn't set up for it. Same with Windows. Everybode uses Windows, so someone who doesn't use it has to adapt. And not everyone want's to do that.
Thank you. This is exactly it. Microsoft has figured out the best way to do everything in a large organization and at a pretty penny (which is fine for premium service) you too can have beautiful, redundant MS systems. SQL Server, SharePoint, IIS, Visual Studio, even OfficeLive absolutely rock the world today.
People are zombie like drones that are unable to make up there own minds?
Could be that the buying public is to stupid to know the benefits of choice or must have there hand held.
How about that the basics of freedom are lost on the populace even though is it one of the basics of our culture?
Could be that people like the infringing their personal freedoms.
Could it be that the the clash of competition really isn't is the sound of freedom?
Communism worked, right?
Mark Twain said: It is by the fortune of God that, in this country, we have three benefits -- freedom of speech, freedom of thought, and the wisdom never to use either.
If society fits you comfortably enough, you call it freedom. -- Robert Frost
If a nation values anything more than freedom, it will lose its freedom;
and the irony of it is that if it is comfort or money it values more, it
will lose that, too. -- W. Somerset Maugham
Freedom begins when you tell M$ to go take a leap.
Freedom is nothing else but the chance to do better. -- Camus
The right to be let alone is indeed the beginning of all freedom. -- Justice Douglas
So did I miss any trite one liners? It is all this subject is worth, anyone who doesn't believe in choice should have there head examined. Even a choice between two bad options is better than no choice at all.
but fragmentation and a hundred different ways of doing things makes it hard to find the information you're looking for online, makes it hard to support (Helpdesk workers complain about having to support more than 3 versions of Windows!), and makes it hard for the user to choose.
Do you know someone who's actually done Linux support to verify these unfounded fears? The only problem gnu/linux helpdesk people have is trying to look busy.
There's one huge difference between free and non free software when it comes to support: free software all works together. Your buddies complain about 3 versions of Windoze because they don't work together - each has it's own arbitrary and insane limitations of a sort not found in the free software world. Different applications do or don't work with each in a nightmare of choices that don't work. I run KDE and Gnome applications on Enlightenment, they mix and match just fine. I can use perl, bash scripts and C together with other people's precompiled code without problem and they all port across distributions and platforms. This is how Mepis, Ubunto and many others are all able to build themselves out of the Debian, Red Hat and upstream repositories. Free software works because it's free.
I've been hearing this FUD about "confusion of choice" for a while. As usual, it's designed for people who've never taken so much as a peak outside their favorite non free OS. Anyone who's run free software for more than six months knows it's nonsense.
Friends don't help friends install M$ junk.
It may be interesting to some that a lot of folks at MSFT do not use the very IDEs their company is so good at. A lot of people use Notepad, Notepad2, Ultra Edit, EMACS, vi, Source Insight. Hardly anyone uses Visual Studio for builds in particular on anything but prototypes. The cause of this is the build system that majority of teams use. It's sort of makefile based (but not quite), and it makes using Visual Studio impractical because things can only be built from the command line.
So folks who talk about the advantage that a good IDE gives you as far as productivity most likely have never worked on anything bigger than a few hundred files in a project.
That said, there's a system now that could change all of that. It's called MSBuild and it ships with Visual Studio. For anyone who does command line builds and whose codebase is mostly managed code, I highly recommend looking into it.
"that's basically what it says. "people dont want to be presented with a choice"."
There's a difference between; no choice, some choice, and loads of choices. If you can't tell the difference between the three, then you're going to be having problems with this discussion and the original story. Better try; no choice, intelligent choices, and a bunch of poorly though-out choices.
If the damn MS monoculture makes everything so much easier, why is Developer Studio seemingly incapable of maintaining compatibility with its own damn project file format?
I know, I know, not the point of the article, but I've been bitten in the ass so many times by everyone having a different version of DevStudio that I'm bitter about it and I've moved on to the happy land of Emacs and Makefiles.
Why does MS feel the need to BREAK everything whenever they come out with a new product? Right, once one person on a project upgrades, it forces everyone else to do so, too. They have a _terrible_ rap sheet for breaking backwards compatibility. They do it purposely with DevStudio, Office, Windows itself,
+Insightful
I would be happy to give Linux a serious chance, if it were even nearly as easy to use as Windows. While I'm far from 1337, I'm savvy enough to know what Linux is and to do programming for fun. So, if a piece of software annoys me into not using it, it's too hard for the average user.
I tried out Ubuntu Linux, marketed as the CD distribution that finally makes Linux usable. I installed Firefox and Thunderbird and OpenOffice partly thanks to that CD, and that's great -- for Windows. When I tried out the actual OS, I got a slowly-booting desktop with no tutorial and no obvious way to get started using Python (which is included) or use the file system, or install anything. I was running the "Live CD," which might explain the slowness, but as a new Linux user, how was I supposed to figure out how to do basic things like find where stuff is in the file system or install programs? So I ask around and am told, go on IRC for advice. It's great that there's a community of users to help with problems, but things shouldn't get to that point for a new user. The advice I got online was to start invoking absolutely non-intuitive text commands like "apt-get sudo" just to start doing basic installation tasks for things like getting a firewall and support for a thumb drive (so I could actually transfer files to/from Linux). So I had a system I didn't know how to do anything useful with, and gave up before trying to plug the machine into a network cable to go online to download software to run my wireless card. And then when I later tried the latest distribution, it just wouldn't start up at all.
Upshot: If you build it, they will come. Linux will only be suitable for me and others' tolerance for frustration -- remember, it's competing against something that we already know how to use -- when it's got a little hand-holding and some easy ways to do standard tasks. Dumb it down beyond what you think we need.
That's if we're to use Linux at all. Isn't it possible these days to build something new and easy to use, not dependent on the essentially decades-old Linux?
Revive the Constitution.
Nobody cares about McCain anymore. Probably not even his constituents. My guess is they voted for "the guy that by now has enough seniority to maybe get us some pork."
Can you be Even More Awesome?!
Oddly, I feel less compelled to make choices with open source software, but I feel they are there when I need them. Usually there are one or two mature and active software projects. The KDE/GNOME divide is a perfect example of this. XFCE exists, sure, but it's not considered heavily as a default DE for a corporate environment. On KDE, if you want a collection-based music player, you have Amarok. On GNOME, you have Rhythmbox. Not much thinking involved. On Windows, I am forced to choose between Windows Media Player, Winamp (with collection enabled,) iTunes, and many others I'm sure I'm missing. I'm at a loss for other "application types" for which this is true at the moment. For any given application niche on Windows, there are a number of often-equal-seeming alternatives. In any case, I feel after a default Ubuntu install, I have 90% of what I need there for me already. Apple, if I'm not mistaken, provides a similar experience. You have a small set of choices, and they work well together, and "feel" integrated. At the same time, I retain flexibility; I use mpd as my music player despite Rhythmbox being available and sufficient, I use irssi+bitlbee despite Gaim being available and quite nice. In short, I make choices because I want to, not because I have to. There's a great suite of default applications provided as part of the GNOME project (and included by the ubuntu-desktop package,) and I only need look forward if I want to go a little beyond "being comfortable."
For instance, the only reason we've not released a port to linux - a free version, of course, we'd like to give back to the community - is because there is no standard GUI layer. It's a hodgepodge of these widgets and those widgets, this license and that license (really meaning, these liabilities and those liabilities.) Windows provides all that. Free. Built in.
Sure, everone knows that M$ licensing and development is far less complicated or expensive than gpl code. Why, you should see how much I have to pay my accountants and lawyers to keep track of the terms on gcc, kde, gnome and so on and so forth. The burden this passes on to my users is just unimaginable. I'm going to give all of that up right now and buy OSX, Vista, Visual Studio and half a dozen software packages that I need to get real work done on these real platforms. Apt-getting is just too complicated. I give up, Steve Jobs and Bill Gates, I am truly sorry that I have deprived your companies of well earned revenues over the last seven years that I've been without your spiffy, easy to use, license, develop and distribute software. What was I thinking as I simply did my work without worry or cost?
The day the linux core gets BUILT-IN windowing and graphics, and I do NOT mean just xwindows or xwindows plus yet another sometimes-there and restrictively licensed widget set, is the day we make a port that we will release to the community.
apt-get install kdevelop. Pay attention to the recommended and suggested packages and go. It's that easy. There are others that may be easier, but KDE's package will be more familiar to you. Hope to see your work soon, Happy hacking!
Friends don't help friends install M$ junk.
I glanced at the headline, and it dodn't make sense at first. How can MS win when there's Viruses aplenty in a Monoculture? I clicked on the article and it was then I realised it wasn't Viruses, but Virtues.
/destroyed, the 'culture' of Open Source lives on in the remaining forks, and that sustains the philosophy.
I think Polyculture is a Virtue. In the IT world faced with a few hefty gorillas, it's "United we Fall, Divided we Stand" that works. Had Open Source been a monoculture, it would've been a sitting duck for predators like MS or Oracle to gobble up at their leisure.
The only common culture that unites the Open Source world is the culture of writing clean, readable, efficient, honest code that works as intended (advertised). These virtues are alien to a Monoculture that is Microsoft. Multiple desktops, multiple browsers (I wish Konqueror, Firefox and Galleon had comparable userbases), multiple programming languages, IDEs, compilers etc. are the precise reason why Open Source wins, and keeps winning. Even if some of these projects are bought over / subverted
Monoculture is a wet-dream for viruses, it has no virtues for the intellectually inclined.
If you keep throwing chairs, one day you'll break windows....
Choice has a cost, but it also has benefits, and the benefits tend to outweigh the costs up to a point. I don't think open source has even reached that point yet. There are about half a dozen significant open source IDEs around, and that is not too many for a market with millions of developers. There are about half a dozen significant Linux distros around, and, again, that's a good number, and it's self-limiting.
And it's not like Microsoft is offering a consistent, coherent, compatible product line either: Microsoft has half a dozen supported but obsolete versions of Windows, a fuzzy platform strategy, multiple incompatible APIs, etc.
Arguing that handing over computers to a single company is a good thing is about like arguing that the Soviet Union represented a better economic system than the US; it does not. Choices have costs, but those are costs we need to bear if we want to have long-term growth, innovation, and success. We need more alternatives to Microsoft, not fewer.
We have some real problems in the Open Source world of programming. Microsoft has been cleaning up their Mess Inside.
C# is a win for Microsoft. It's a decent language. We have some real problems in the language end of open source. C is still widely used, despite its age and some terrible design flaws. C++ has become something of a mess, and the C++ standards people are off in template fantasyland, instead of fixing the thing. Java has acquired too much baggage, although the underlying language isn't bad. (Amusingly, Java turned out to be the replacement for COBOL, something its designers never intended.) Perl doesn't scale up well, and Python is too slow. We don't have a good, safe, hard-code-generating language in the open source world. (And don't say that's impossible; it's been done several times.)
Microsoft is better at middleware than the open source world, especially the parts that have to play well together. All Microsoft apps have access to a standard interprocess communication system and a standard database. Neither is great, but they're always there, and they're standardized. The Linux world has about a half dozen interprocess communication schemes, none well-supported by the OS. There's CORBA; Gnome and OpenOffice both use CORBA. Incompatible versions. All of this was horribly ugly prior to ".NET", and the transition was even uglier ("Managed C++"). But the all-C# world is relatively clean.
Build tools in the open source world are still 1970s technology. I was using "make", "sccs", "db", and a version of EMACS in 1978. Now we have "gmake", Subversion, "gdb", and EMACS. That's rather minor progress. For some reason, Eclipse has never caught on much.
And, as the original author pointed out, Microsoft is way, way ahead on developer documentation. They have people writing articles on how to deal with the ugly parts of their own software. That's rare in the Open Source world. There's an endless supply of beginner books and recipe books, but quality technical notes on the tough parts are rare.
I don't like it either.
Which development environment offers the best integration with MS products? Surprise its visual studio.
If you have a windows shop your stuck with it. Borlands tools do not include things like the VBA for office.
http://saveie6.com/
...rather, a complete and utter lack of *recommended* choices is the killer. (apologies in advance for lumping Linux and Open Source together)
Every Linux app I install has a laundry list of "you must have ______ installed first" items on the list. Fine. So I go to install those, and each of those apps has its own laundry list. Fine, whatever. It's a pain in the neck, but I can deal. I should only have to install each of those new apps once (and perhaps upgrade once in a long while for security, stability, or new features), yes?
Not so fast, buddy. Most open source Linux apps have this nasty habit of having a good deal of their useful features turned off by default. Turned off, that is, meaning not compiled into the program. At install time, you can specify config options. There's usually a list of 40 or so that you can include if you like... some are harmless, others will nerf the program. But unless you've configured that particular app a half dozen times before, there are probably a few options the hapless admin neglects to specify properly, and he doesn't find out until quite a bit later, when he finds himself re-re-recompiling.
Hey, says the open source community, he should RTFM! And indeed he should. But when the documentation for "--use-feature-x" is "Enables use of Feature X", or worse, "TBD: Write a more helpful explanation," the only source of useful information is a mailing list archive where someone else has encountered your cryptic error message and gotten their problem solved in a manner that is relevant to your situation. That, or there are SO many options that signal gets lost in noise. Or those options are only relevant if he's running Python 2.4 on a version of Fedora Core (64-bit only) that is less than 6 months old and Apache 1.3 or 2.2 but not 2.0, with LDAP implementations other than OpenLDAP, or if it's Thursday.
Repeat this about 15 times as the necessary feature enablings, version upgrades, etc. percolate back to the app you actually WANT to install, and you begin to wonder about how good an idea this whole "open source" thing is.
And this is all AFTER you've made a decision. A frightening number of install docs include a phrase like "you can use one of 4 database/server/scripting implementations. They are all different. They are all good and bad at different things. We used to like option A, but now we're feeling differently about option B, ever since they made a dirty gesture at option C. Option D (the one you already have installed on your system and are familiar with) is far superior, but we don't fully support it, and there's a 1% chance it'll hose your system when used with our software. You should go sit in a corner and mull over the pros and cons for the next two hours." Would "Option B is a good choice unless you're serving a REALLY big filesystem, in which case you should use Option C. A and D are also available, in case you care" be so hard?
The open source world, in its efforts to give the consumer lots of choices, seems reluctant to give recommendations. If they TELL you that you'll save a crapload of time at the expense of a miniscule performance hit by including a few extra modules in your apache install, somehow they've done a disservice to the community as a whole by preferring one feature over another. Which client should I use to connect to my new server? "Well, there are 38 available. 15 of them will hang and leave dangling processes on the server, and another 10 don't even have the support for the most useful feature, but that's not our problem... enjoy the impartial list." The ones that DO give recommendations for packages and configurations then usually have conflicts or inconsistencies with the packages they recommend, leaving you, the admin (or, HORROR OF HORRORS, desktop-users Nana and Pop-Pop), to trial-and-error smooth the edges for the next hour/day/week.
One thing Windows really has going for it is that, for better or worse, applications seem to come with default configura
-- I prefer the term "karma escort."
Seriously, it's very cathartic to shake my fists in the air and curse the darkness, don't knock it. It's an old tale, having such a powerful implacable enemy stiffens the spirit of the protagonists. Makes for a much better tale, too. To go with the geeky reference, that's why Stargate worked so much better at the start of each enemy-era; once the antagonists get cut down to size it's not nearly as interesting as when the heroes face impossible odds.
I remember sigs. Oh, a simpler time!
Is a choice between 30 indistinguisable options better than a choice between 3 distinguishable options?
E.g.
... BUT I have to walk 10 minutes to find an ATM and each working differently, I will feel pissed. No matter some technies tell me the marvellous reasoning behind and show me how much functions packed into each ATM. .PERIOD.
... Imagine: (1) my Linux desktop crashed ... okay a new one is good ... oh, only have Ubuntu preinstalled ... what it is? It says Debian, is it Linux? ... what if it is not actually THAT Linux I used? (2) In conversion (in the morning) my friend says he has a great recently ... I use Linux, let's have fun ... argh, isn't Slackware a Linux? ... (at night) okay we got it, just install XXX and download YYY and put into ZZZ folder will make it ALSO WORK, its late, see you next week.
The bank I deposited money, I care less their performance, operation efficiency, and such. What I care is having an ATM close to my living and most people trusted.
If you tell me there is a banks coalition that passed ISO-9000, CMM,
99% USERS are ordinary people not geeks. Ordinary means most of them will feel lost even in front of a new ATM interface! USERS don't care about what open standards the ATM use! Don't care it runs Window or Linux or OSX (if they ever heard of it). Don't care about anything except what they want get done without hazzle.
Let's face it. Linux for determined user (to learn) is fine. But for ordinary people is a joke
Certainly someone will tell me with minimal knowledge and reasonal education (and re-education), these are not a problem. BUT in I just buy a commodity named PC (not for hacking) the first place to do what my (ordinary) friends do. WHY should I labor myself more than if without it.
^bf
Slashdot users, I bow to you. It's hard to beat that much bias and ignorance as you've demonstrated in most of the posts over here. Which is why you'll never be convinced that Windows has benefits, and the world will keep using it.
Don't let this little disparity bother you, just put a spin on it and contribute 100% of it to evil MS schemes, which force you to use Windows, never mind the OSS options.
I'm a Microsoft flunky... I admit it. (First post here on /. by the way!)
Personally, as a developer, I have explored open source options and found them to be generally incomplete, with little to no documentation (compared to MSDN, most docs are a barren wasteland, but I'm talking about even the most basic of documentation).
For example, I am building a 3D game. I explored Ogre, and I found it difficult to use, with far too many independent side-projects that required me to update from 5 or 6 different websites every time the core engine was updated. Seriously... building a commercial app kinda sucks when you have to rely on hobbyists for timely updates. What happens if the core engine updates, and one of the key add-on makers is on vacation for a month? Or just decides they don't want to do it? What if their whole project gets abandoned? These kinds of questions have to be asked when you're making something you want to bring to market. "Just program it yourself" was something I heard often... but that's really not the point, is it? People want to make a product that other people use, but more often than not, the project gets abandoned, gets handed off to new project owners time and time again... and when it's all said and done, it's a pain in the butt to really get a nice, stable, complete, well-documented project out of the open source community.
Personally, I've found that PAYING for my software brings with it a lot of perks: For one thing, you can hold over them the "I'm your customer" card... money talks! Secondly, market forces seriously drive quality standards... not really for Microsoft, but for other small developers that are competing.
To be blunt, and to really abuse a common saying... "You get what you pay for." If you don't pay jack squat... guess what you usually get.
And that is assuming that OSS developpers are a bunch of nerds in their free time, doing software just for fun. Sad to say, his assumption is closer to reality.
Oh, there are thousands of 1-2 man projects on sourceforge done by enthusiasts in their free time. Chances are you haven't even heard of most of them. They also tend to be small projects.
If you look at what's in your favourite Linux distribution, though, it's a different story. Look at the kernel credits some day. You'll see a lot of people from IBM, Red Hat, etc. Hate to break it to you, but they're doing a paid job there. Others may not be employees at such, but got paid/sponsored by a corporation to develop that stuff. E.g., ReiserFS was pretty much paid for by SuSE.
Other programs there? Mozilla? It even got started because Netscape wanted a browser that can stop MS's onslaught onto their business. Then it got bought by AOL, and nowadays it's Google footing the bill. Open Office? Got started as a proprietary project, then bought by Sun. Nowadays it's Sun doing pretty much the whole work, with people paid to code on OOo. It's costing Sun a lot of money. Etc.
See, the F/OSS that gets taken anywhere _near_ seriously these days is the work of corporations. Pretty much it's just a framework for a bunch of corporations to pool their resources into fighting MS. None of them has the resources to challenge the behemoth single-handedly, and some have already lost against the behemoth when trying to "solo" it. E.g., ask IBM what happened to their OS/2.
Where this long rant is going is: of _course_ those corporations are aiming at becoming the next MS. In fact, some of them were the original (near)monopoly long before MS. IBM used to be _the_ name in computing business, long before MS even existed. (And incidentally was just as underhanded as MS. The term "FUD" was first used to describe IBM's tactics, long before MS even existed.) Sun was _the_ name in professional micro-computers. Etc.
And some of them suffered quite humiliating defeats at the hands of the "beast". IBM created the PC, and everything had to be "IBM PC" compatible. Then MS helped shift that to "Intel x86 compatible". When IBM tried to introduce the micro-channel architecture, it discovered that it no longer is in control of the very architecture it created. The market just ignored IBM and took the PC in the direction other companies wanted. Then even Intel lost control. It became "Windows compatible." It may not have been immediately recognizable as a defeat, but it became blatantly so when Intel had to go ask for MS's permission to implement their own 64 bit extensions... and got told to use AMD's instead. Ouch.
In a sense, MS helped "create" Linux. At the anti-trust trial, MS used Linux as an example in their "we're not a monopoly, other people can still make good OS's" sophistry. It just told everyone what other OS they could use instead, if only it was more up to modern standards. And they just proceeded to help with bringing it there.
At any rate, the short story is: most of the successful F/OSS is the work of corporations, and _of_ _course_ they want to be the next MS. Or at least to take some market share from MS. And _of_ _course_ they'd like to make a profit (indirectly) out of it. That's the whole _point_ of bothering with it.
E.g., Sun isn't developping OOo because it just likes making cool software. It's because at some point people were saying, basically, "Yeah, well, but your workstations don't run MS Word." If the software they pay big bucks for doesn't address that problem, they might as well fire that team and move on.
E
A polar bear is a cartesian bear after a coordinate transform.
There is a very big difference between hardcore developers / computer geeks (us) and the rest of the world. Linux for many is just not as dummy proof as Windows is. (Windows crashes and is buggy but rebooting the thing fixes things, where as if you mess with the kernel on a linux machine, you can cause big trouble).
My Own Millions Blog
Not Borg Bad. How about cowardice, monopoly and brainlessness? They're not virtues, but sadly, they seem to be permanent fixtures on the human landscape.
I'm not sure I understand you. You say that because Linux has both GNOME and KDE (and others), there is not one standard GUI on which to develop. But why don't you just pick one? People have access to both, you know.
For example, as a die-hard KDE user, I'll ask: what happens if you just pick GNOME and go with that? If it's a useful program to me, I'll install your GNOME program on my KDE machine. For example, I run GnuCash and not KMyMoney, I run Gnumeric and not KSpread, I run Abiword and not KWord (or OpenOffice.org), and I run Firefox and only occasionally Konqueror. I plan to continue to use KDE for the foreseeable future, and I've never downloaded the default Ubuntu, only Kubuntu.
Unless I misunderstand you, you seem to be saying: "Microsoft has a single door to walk through. But Linux provides double-doors, so I don't know whether to walk through the left one or the right one. So I won't bother, and I'll just stick with the single door because the lack of choice is less confusing."
404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
[GPG key in journal]
That last phrase
Too much choice ?
And, oh yeah.
An apparently unnoticed intelectual Elitarian charm-attitude is the cause of all this.
J. with a low-profile grudge
free dom(inion) - free energy - free your mind - whee!
-I've tried a few distro's and come to prefer fedora core (for now)
-rpm was rough, then I settled on yum to install software. I prefer yumex over kyum, not sure why.
-not so much with the compiling sources and the terminals and such but yakuake is a great improvement to konsole
-I've only added choices with livna, freshrpms, and atrpms for 3rd party repos
-amarok, xmms, xine, kplayer, and vlc are the finalists for media players out of how many? I have 15 apps that I could call "mp3 players" but don't know how many I've uninstalled as well. oops forgot mpd and mythtv
-can't decide between konqueror, opera, and ff. but I won't uninstall mozilla or dillo
-evolution, kmail, or thunderbird
-gaim or kopete
-alsa (with or without arts) and jack offer similar functions but aren't fun together; I guess it's more that I can't use jack all the time or live without it, but I usually leave alsa running
-koffice or ooo
-I've setled on kate
-kde or fluxbox
I'm not complaining about any of this. Without this mindset I wouldn't be so loyal to Seagate hdd's and Antec power supplies. I LIKE choice. My computer experience has evolved through trial and error, survival of the fittest. You might even suspect intelligent design. But there's a sacrifice of effort. And only weeks ago I was confused about skype and Vonage and SIP(?!) and I still don't know what I want.
But I wouldn't have it any other way.
Users who need more direction, like Joe from T-Mobile or Joe from T-Mobile can find someone like me and I'll choose for him and pick the apps I currently prefer, or flip a coin, when I install fedora or yellowdog on a PS3 or mepis on a laptop. Whatever.
Perhaps there's too much choice.
Or maybe irresolute doubtmonkeys shouldn't install software at all -- even windows apps!
Maybe somewhere in between. I like that I have to add 3rd party repos for some of this. what's that universe thing some people use? you get the idea...
Now; I think Windows users should be using Firefox, Thunderbird, Open Office Dot Org, foobar, Miranda, Photofiltre, and VLC. NOT IE, outlook, msoffice, wmp, msmessenger, mspaint, or mediaplayer. They should replace all windows utilities possible with stuff from portablefreeware.com or tinyapps.org and zonealarm and adaware are necessary. I don't think this paragraph gave anyone any difficult choices, but neither I nor slashdot nor cmmndrtco (sic) can be held accountable for DANGEROUS information you come across on the tubes of the interweb.
Odd, I started out trying to see it from their side, but ended up losing patience and sympathy. These are valuable if you're trying to help people but all I can say is...
"Life is used, get confusing to it"
Don't play dumb. There are significant differences between your choice of OS and your choice of website, the biggest being that most websites are not a platform for development and expansion. How many times have you purchased something and worried that it was going to be incompatible with your favourite website? None, I bet. Maybe there would be less of a problem if the OS market was standardised as much as the web.
You know, there is a difference between trolling and pointing out the flaws in your reasoning. Just saying.
>>We spend a lot of time complaining about all the evil ways Microsoft uses to foist
>>themselves on the world. By doing this, we automatically remove any blame that we
>>ourselves may bear for their successes and our failures.
This is what I see as essentially stalling progress in many areas of open source. The community isn't capable of evaluating the community's own flaws. There's a brand of open source "nationalism" where anyone who criticizes community policies and practices is derided as not being patriotic enough.
I'm not convinced the article provides a solid basis for blaming choice as a problem.
:-)).
.Net. From an IT strategy point of view you're better off with a direction that YOU set, not the vendor. Not only is it cheaper, it's also less driven by a vendor's need to flog new products.
I have yet to see people try to find a new toolset every time they build a platform. Usually, an IT shop decided on which tools it will use to do the job (including which hardware, code language and dev framework) and will stick with that choice, simply because that's where their expertise lies. Only when the toolset is not up to the job or there is a simpler/better way to address the task at hand will there be a re-examination and/or switch, and such changes are in both environments (Win/FOSS) also driven by the people doing the job doing the usual looking around for ideas and products - that's simply part of the work (did I just argue that Slashdot reading is essential? Yes!
After that it's learning how to maximise your use of the toolset and work around the problems with it, and that tends to result in some branching out from the default platform as well. Do MS shows only use 100% MS code? IF SM had their way, sure, but life's not like that. The only difference with an MS shop is that experimenting doesn't immediately cost license fees and instantly creates the risk of a FAST visit being successful, but that too is an issue hat can be managed.
So this 'choice' is a starting issue, not a live ops issue.
The challenge of a monoculture is not that it's mono, it's about who controls the direction. An MS monoculture doesn't really to be driven by user need, witness the heap of crap that is Vista, and the total mess they made of the different versions of
At that point you can start asking questions about true business benefits and TCO.
Insert
I watched V for Vendetta again last night, and was reading some related material online afterwards. It introduced me to a couple of ideas which although I'd more or less known about instinctively, I possibly hadn't considered from quite that perspective. This is going to appear to be offtopic at first, but bear with me and you'll see the point as it relates to the issue of choice with Linux.
From what I've read, the central element of anarchic thought is apparently the idea of a scenario where people are genuinely self-responsible; where people are able to make decisions and choices about everything they do, and where it can be at least hoped that the need for an external authority is mitigated by said people having an internalised system of morality. In other words, the idea being while they are able to choose to do whatever they like, that people will eventually figure out what they are meant to do on their own.
However we keep seeing (no doubt unfortunately in the minds of some of us) that the above scenario, not only where Linux is concerned but in every other area of their lives, is overwhelmingly not what the vast majority of people truly want. I've found myself reading quotes from both Freud and George Bernard Shaw over the last 24 hours that stated that contrary to the commonly held belief, the majority genuinely do not want freedom, precisely because a prerequisite of freedom is self-responsibility.
This of course is where not only Microsoft in the case of software, but repressive states of all kinds in general life come into the picture. As V said, they offer order, certainty, stability, an absence of chaos, and most importantly, an absence from the need for a person to think for themselves, and all they ask in return is silent, obedient consent. They give people a scenario where decisions are made for them, where no thought whatsoever is necessary, nor responsibility taken for wrong decisions. As the old saying goes, "Nobody ever got fired for buying from IBM."
This is what people overwhelmingly want; what they are trained from the earliest age to want. National governments use the education system these days in order to start negative reinforcement against the exercise of free will within individuals as early as possible, and if such is instilled deeply enough and early enough, the process produces individuals who refrain from exercising choice as much as possible for the rest of their lives thereafter.
If you're wondering why people continue to want Windows over Linux, and continue to complain about the degree of choice inherent in Linux, you might perhaps also want to ask why people are also willing to allow the likes of George W. Bush and Tony Blair to remain in political office. The answer to both questions is the same, for they are in truth both different elements of the same issue; an insistence on avoiding self-responsibility and reasoned, conscious thought within the majority of the population.
How can Linux advocates overcome such, I hear you ask? Instilling independence in those who do not have it already is by necessity an incredibly slow and transitional process. In the case of someone complaining about being overwhelmed by choice, I'd probably start by asking them what it is that they as individuals want to do with a computer, and then direct their attention to a single distribution (or possibly even Windows itself, if appropriate) which will meet their needs. I've tended to notice that people aren't normally wanting a reduction of choice for people other than themselves, when they are asked, but merely want a scenario where they do not need to engage in it. Hence, if they find something which will meet their own requirements, they will very often cease to complain.
Some individuals are inherently lacking initiative and crave situations where they are taken care of by external parties. Sadly, there isn't much any of us can do in the case of such individuals, other than hand them a copy of Ubuntu or Vista, and a smile. Although I fall into the trap myself on here fairly regularly, I also try and tell myself that such people are not worth getting upset over, since they are a reality that we cannot change anyway.
When I looked at developing in Java I wanted to know what tool sets I should use. With Microsoft it is easy - you buy Visual Studio, develop you apps using MS-SQL, deploy to Windows servers. I was working for a company in 1998 and implemented a non-Microsoft email system called "NT Mail". When I left they ripped the NT Mail solution out and put in Exchange just because it was from Microsoft. It is easy to simply decide "Microsoft is the way".
When you move to Open Source you have a large number of decisions to make. For those of us who are in the OSS community we are comfortable with the idea of mixing many projects together to suit your needs. For example, I use velocity instead of JSP's. If I were in the Microsoft world it would be ASP or nothing. It makes the choices easier, but removing choice decreases diversity.
However, the problem exists for developers new to open source. They ask the question - what should I be using? And they get 100 answers that are all different. Every Linux user has their own favorite distro - and it changes from year to year. We have different development environments, such as Netbeans, Eclipse, JEdit and so on. We have different languages. We have different databases. And each has its proponents who will tell you why you should use their approach.
What we do not have is a "Visual Studio" package that includes everything you need to develop software in one easy to use install. I mean include the language, development environment, database, build tools, and put it into a package that is well documented.
Microsoft has a hegemony for one reason, and one reason only: Games. There are very few games on Mac and Linux.
If Mark Shuttleworth bought Take Two, and released GTA only for Ubuntu, well.....
I know plenty of non-gamers that are switching to Ubuntu as it is. And there are a FEW games on Linux, such as the excellent "Urban Terror".
Now if only I could get high res textures in Mupen....
rhY
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
What he's really talking about is the Network Effect, but doesn't seem to realise. The Network effect is why we speak national languages instead of reegional ones, why some form of English is ultimately going to replace all others, why TCP/IP is the only protocol our machines talk now. Why all keyboards are querty. Why we use the same currencies, why we all drive on the same side of the road. There is utility in all things being the same.
It also applies to user interfaces, libraries, operating systems etc but to a much weaker level. This simply means that it takes longer for the users of the various interfaces, libraries, development tools to converge on the same solution. The need can't particularly great because if it was, the convergence would be happening far quicker. It'll happen over time in the Linux environment, in the meantime, the market is going through the various Linux softwares and choosing the one which fits their needs best.
Deleted
Yeah I know it's cool to bash Balmer around here but he was so right.... "Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers! Developers!" Provide good development tools to develop software quickly and effectivly and people will choose your platform over the competitor platform that does not. Microsoft has been creating great development environments and languages for fast application development (VB etc) for years and they would be totally stupid to stop doing that now. It is what gets apps written for their platform which creates users, and so on.
We forget easily that choice itself is a choice. It's really something optional. Choice is a good thing to exist, because at some point people will always ask for something different and better. N00b and Joe Sixpack users, however, only get confused by too much choice. They'll be happy with the tools that come bundled with their OS/computer. When (if) they become more computer and internet literate, they'll come looking for a replacement for that blue E, for example. To put it short: initial myriads of choice is bad, it confuses the user. The possibility to have more choice is good.
If a few of the Linux distros got together the could create a true beast. There would still be the choice but it would be contained within a simpler choice - to chose Linux. I think this would win ground.
For example: Red Hat, Ubuntu work together on Fedora (because it's 1337) and make a massive organization with all of their innovations included in the same OS (with the differences listed as options and choices).
...or 'Where Microshit loses' can be read here:
W here-Microsoft-has-already-lost.html
http://www.free-media.org/index.php?/archives/20-
HarryTuttle.
Eh, you do know that such tools have existed for quite a while now? You might want to first check out Apache Ant, or if you're a .NET developer then take a look at NAnt instead. You'll find a good introduction to NAnt here.
Once you've gotten the hang of (N)Ant you might want to set up a automated build server: CruiseControl or CruiseControl.NET
I'm normally a big fan of MS development tools, but when it comes to automating the build process MS is really playing catch up.
"Every job has its unpleasant parts, and while a F/OSS coder can skip them a commercial coder can not; if the spec calls for an embedded testing code, for example, or Doxygen comments, you put it in."
The percentage of non-FOSS which is documented and the percentage of FOSS which is documented are pretty similar in my experience. Perhaps you are unaware of the incredible 95% of software which is developed commercially, but which is not sold in a shrink-wrapped box in Circuit City. Many companies have internal IT departments which couldn't code their way out of a paper bag in VB, let alone document it. Go read the daily WTF if you think I'm lying.
"s/he might be wrong but at least the product is consistent, and not designed by a committee as it sometimes happens."
Andrew Morton. That's a name I can think of when I think of someone with vision for a particular FOSS project which are willing to say when things (don't) match their vision. Linus Torvalds also fits this bill. There are similar names in other projects, but I'm most familiar with the kernel.
"These clones haven't been weeded out by the market, and so many of them are not viable - but they are out there,"
The weeding doesn't occur at the store level, it occurs at the reputation level. All FOSS stuff is staked on reputation. If you have a high reputation, you are going to be used more and included in more distributions. If you are a crappy app, you'll never see a real user base. Since the programmer is programming for ego (see the somewhat inaccurate women/baby analogy), the programmer should be motivated to produce better work which becomes more popular. The KDE programmers sure seem to have worked to make sure that KDE is useful. The Gnome programmers have also worked towards some mindshare. Given how people used to choose window managers, but now choose desktop environments, I'd say that these programmers have changed the game wrt GUI interfaces on Linux. That sounds much like a market shift, but with eyeballs and hearts instead of money.
"Effort dispersed, spent on competing projects is ultimately wasted."
Oh, I'm sorry, I guess you're just a troll. Or you simply don't understand what FOSS is.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
at least 15 thousand software packages do exactly this: provide the source and let others filter out the differences.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
If only I could get a look at the user-agent strings to see how many of the "all praise consistency" crowd have posted their comments under Firefox. Those of you who did should feel a small twinge of moral ambiguity the next time you open a page under tabbed browsing. Microsoft only came out with tabbed browsing when choice put their back to the wall. I was reading the other day that ninety odd percent of the world's food production is confined to twenty odd species of plant and animal. While we're on the subject of restricting choice for the greater good, I hear that arranged marriage offers many practical efficiencies.
Simply put, he's right in a way. After all, developing software for an environment you choose, means anyone who didn't choose your environment who wants to run your software has to switch, or install more software, and deal with the problems possibly associated with such a thing.
;D
Remember when KDE, GNOME, Xfce and Enlightenment didn't share a desktop API? Look now at how Enlightenment reinvents everything using it's own special libraries? While Enlightenment has some distinct advantages over the way the others are designed, it is a DIFFERENT system. Want to install a GNOME core application on KDE? Well, you have to drag in most of GNOME, still. The same in reverse. Install Enlightenment tools on top? Well you have to drag in the rest of the E17 framework.
Install X on my system, and it still pulls in 5 different sound daemons.. yikes, and yikes again. Xine, MPlayer and GStreamer/Totem too. They all use the same libraries after all, but do I need 3 different ways to play a movie?
I personally prefer GNOME and Xfce if only because they use the same GTK toolkit - however I personally loathe GTK and the GTK API. I don't want to even get started in Enlightenment.
So, when you sit down and use Windows, what do you do? Well, you're pretty much stuck using Windows. And for all intents and purposes, there is a strict set of toolkits and APIs they provide for you (DLL hell wipes that off the map though). There is no "which API do I use to open a window and add a button" if you are using VisualC++ and reading the documentation, it will pretty much railroad you into one choice. But there ARE other choices.. they are just less obvious and less relevant.
I think this is why I like the concept of RAD stuff like Ruby On Rails, however I do hate Ruby, and Python, and I never got into Perl in a big way, and while I'm stuck with PHP, it's because it's closer to C++, which I absolutely love. If I had a choice I'd be coding everything in C++, with a single toolkit, but unfortunately because everyone else makes other choices, I can't.
Does my life deserve to be made this difficult by virtue of the freedom of choice? Probably
In the Linux world we have 2 dominant windowing systems: GNOME & KDE.
If you really wanted to you could develop for one of them (hint: Ubuntu, Red Hat and Fedora are GNOME shops, sorry Kubuntu guys, the distro is too green) and let the comunity port to the other, and you would have all your bases covered.
The no coherence argument is ludicrous, the Linux community has decided to have two main graphical environment, with several others for falling back or for specifical situations (low memory, low spec machines, etc).
The too much choice argument is a way to weasel out, it is a non argument frankly.
IANAL but write like a drunk one.
If you think there are no arguments and forks inside MS then you are more naive than is decen to be.
The only difference is that they happen behind closed doors and you rarely hear about them.
If you want any indication that there are forks, simply look at 2 major consecutive versions of most MS offerings, in some cases are so unrecognizable from its predecessor that you wonder if the latest development team kidnapped the previous one and sent them to Guantanamo or something like that.
IANAL but write like a drunk one.
A company can limit perfectly their choice of products and technologies to open ones, once that choice is made inhouse developpers must constrain themselves to use that limited "approved" set.
Don't demonize abundance of choice when the problem is lack of clear management strategies.
IANAL but write like a drunk one.
I also love Kubuntu and use it on all my machines at home... However I develop for Windows at work. Developing application in Windows can be as easy as VB. As far as I have seen there is nothing on this (OSS) side of the fence that comes close to it for ease of use, with (reasonably) good debugging. From there it's a skip and a jump into C# and beyond.
As a (bad) example of how far UIs have to go, I use Visual Studio 2005 at work and I use Matlab for my postgrad work. Both professional, closed-source products. The Matlab debugging facilities pale in comparison to Visual Studio's power. Makes life so much easier. I find Matlab a bit archaic, but KOctave seems even worse. I guess Matlab only has to do better than Octave on Linux systems.
Of course my argument is omitting things like Eclipse... but I have only used it a few times and found it too slow (slower than VS.Net!!) and user unfriendly.
Couldn't stand the weather
I am sure any user of any complex piece of software is going to find different pet peeves.
The reality is that Linux works, and like with any other software product, not all design decisions will adjust to your view of what is logical.
Of course if most people decide that the design choices are shitty then the product will not be popular and will not be used.
Well, great, we have discovered the black thread, what is next, the wheel?
IANAL but write like a drunk one.
Although Linux distros have many flaws, they have nothing to do with the reason why most people and businesses use Windows.
Linux and Open Source are new as a mature software solution. Microsoft started dominating the market many years ago now. If everyone bought computers today and gave them to employees that had never used a computer before, then of course we would win. But that is not the situation. Companies have documents in Word format; they have employees who think the big blue e equals the internet; people have paid for licences already. It will take time, but we will win.
Yeah yeah I know I was being a smart ass. Sorry about that (sort of).
I haven't seen a thing about this implosion of McCain's yet. This is the only place I've heard about it.
When Joe user installs Windows, he gets the same OS as the rest of the world by default. He can go customizing it all he wants, but most people won't (walk into any office building and look at a few PCs - all bog standard stuff). Before most Linux users install, they have made a list of choices that guide their distro choice and install options (resulting in a somewhat divergent OS for each user). This automatically puts them into a different class than Joe user who has never had to make a list, and thinks the way Windows is is the way computers work.
Some people don't care if Linux is successful with Joe user, but until the mainstream adopts it, M$ will continue to direct the destiny of the PC and may well find a way to lock Linux out of it one day.
IT managers and CIOs know there are several commerciallly supported versions of Linux.
IT managers have had to deal with far more complex decisions when each company was pushing their own OS (at some point you had many different versions of UNIX, VMS, Windows, OS2, MSDOS, MacOS, and many mainframe propieatry ones (CANDE, A12 and who knows what else).
If anything, IT decision makers have it immensily easier now a days: one of the few remaining UNIXes for mission critical, scalabel problems, Linux for mission critical problems (mostly Red Hat) that may not scale well, Windows, Linux (Ubuntu I would say, Red Hat is good as well, SuSE) and OSX for desktop systems and departamental servers,
How chaotic is that?
Only lazy people want a one size fit all solution, that in the long term will cost them more money than the time and effor invested in doing a proper evaluation of what is available out there.
IANAL but write like a drunk one.
What the heck is "difference of taste"???
You clearly wanted to use choice, or need, but taste?
You are just trying to hide behind a lame word your bias.
In any given healthy market you will have lots of choice. The OS market is not very healthy, the abomination WIndows VIsta is is enough proof of that.
Lack of choice equals shitty products.
IANAL but write like a drunk one.
The second I encountered this text ... "It has a couple of really cool features, like the virtual, override and new keywords that let you specify what should happen when you cast a class to it's base class and then call a method on it that's defined in both." ... I stopped reading.
... and of course naming a facility by its proper name is not important in engineering.
... C# introduced explicit virtual methods just because of speed concerns. If a method is not a virtual one, there is no need for the runtime to do dynamic dispatch. ... it is a facility introduced only for the sake of speed optimizations, and its just making the language harder to use.
.NET a run for their money.
The author is referring to the way polymorphism works in C#
But besides that
The problem is
The flaw here of course is that there are always new optimizations introduced in newer virtual machines, and the good old Smalltalk, one of the most dynamic languages in existence, can give both Java and
In the end such optimizations become bottlenecks, and for example multi-core processors prove that garbage collectors are superior to manual memory management.
I thought Apple had fewer software options for most tasks than Windows, at least it has always seemed that way to me.
Likewise, BSD has fewer software options for most tasks than Linux since it has less development, so why does Linux take the OSS business market instead of BSD?
Note: I don't intend this as a flame at all, I like one of the OSes that this says should do good based on the logic, and I don't like the other. I like one of the OSes that looks like it should be bad in this comparison, and I don't like the other. I'm just saying the arguments logic doesn't seem to add up to me.
34486853790
Connection too slow for X forwarding? Try "ssh -CX user@host"
yes and no... the IBM compatible PC won out over Apple... you could have your choice of "X" machines that all run windows, or an apple.
Standard interface with more "other" options wins out over standard interface with few "other" options...
kinda like the old Henry Ford quote... you can have any color you want as long as its black
Thanks to file sharing, I purchase more CDs
Thanks to the RIAA, I buy them used...
It's not just you.
That is unfortunate, because people like you and posts like the one you just wrote are exactly the reason Linux is not catching on as fast as might otherwise be expected. You are the modern equivalent of the "RTFM, n00b!" morons on IRC. You are marginally more polite, but your immediate assumption is that the GP post is trolling, and not simply the real life experience of a somewhat technical but non-expert user who is considering moving from the tried-and-tested ground of Windows to the brave new world of Linux, and who isn't going to bow down and worship at the altar of Ubuntu before he's seen his miracles.
Instead of providing constructive advice about Python, for example, you mock the poster for his lack of knowledge, and make a flippant reference to Google. Of course people like the GP poster know how to search using Google. The point is that on familiar ground (Windows in this case), he doesn't have to. Thus expecting him to search on Google every five minutes for the first several weeks of setting up his new system is unrealistic. He won't waste his time doing that for long, he will simply switch back to using Windows, where the stuff he wants to do can be done easily in a way he already understands.
This is the challenge facing the Linux community, and smugly, arrogantly, pretentiously denying it isn't going to convince anyone about the merits of Linux as a platform — quite the opposite, most likely.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
The difference between a GUI-based configuration and a file-based configuration is that the former is easy to learn but the latter is easier to use once learned. If all you're doing is tinkering, then I'll grant you that having a GUI setup can get you up and running faster, but I work with both IIS ans Apache servers every day and the IIS ones are far harder for me to maintain because I can't quickly remove chunks of the configuration, or search inside the configuration to find a particular setting, or use search and replace to change a particular setting throughout the entire configuration.
A GUI also makes it far harder to automate administration tasks. On one of our servers the Apache configuration is generated dynamically from a database, because all of the sites hosted there are configured very similarly. I can deploy a new site just by adding a new entry to the database and restarting Apache. I'm guessing that there is a way to do such a thing with IIS, since IIS's admin interface uses some sort of RPC to communicate with the service, but I can't reuse my skills learned doing manual configuration when setting up my automated configuration; with Apache, I already knew what the virtualhost directives needed to look like so writing the script to generate them took only half an hour or so.
...But there is too much fractured choice in the OSS community... I agree with you. I hope one day we will see an OSS platform that enforces some kind of "open monoculture", if of course such a thing is not a paradox. Otherwise, I don't see how OSS will take the crown away from the other monocultures like M$.A platform such as GNU/Linux fulfills the needs of a minority. Don't get me wrong, I've used and love Linux since 1995, but it does not fulfills the need of the majority of computer users who needs well defined rules on how things must be implemented to integrate well.
I thought we had a winner with BeOS! I'm so sad it did not fly. I think we can pretty much put the blame on the lack of device drivers. And I think any platforms that wants to dethrone Windows will need to implement a very good "Windows drivers" compatibilty layer. It's sad but might very well be inevitable.
Valtor
"Sockets are the standard networking API, also useful for stopping your eyes from falling onto your cheeks" zeromq.org
The author mentioned
Do we really need Ruby on Rails AND Groovy on Grails? Rails and Grails address different market segments. Ruby only has a hope for adoption in new development projects. Grails can be crept in gently into Java projects. Groovy and Grails compile to Java classes and are indistinguishable from ordinary classes written in Java. Ruby is a relatively unique language whereas Groovy is more like reformed, dynamic Java. We mix Groovy and Java in our projects now and are very happy to have new tools to accomplish our tasks. I don't want to go out and learn a new language, like Ruby, but I sure as hell don't mind making the tiny leap to learn Groovy.I realize this is only a minor point in his argument, but makes me seriously doubt his credibility. Just because Grails and Rails sound alike doesn't mean they're interchangeable and that one or the other in pointless as he implied. Also, most intelligent people aren't bothered by the having too many choices, but more by having too many bad choices. Sure, we have Solaris, Linux, and BSD kernels all competing to run our server apps. Most don't mind since all 3 are solid choices. The problems come about when you have 12 different Java MVC frameworks, all of which are severely lacking in at least one area, presenting you with no clear choice. You can use struts and it'll be fast, but kludgy and lacking any good view-related features. You can use JSF and get great view features, but a noticeable performance decline in most circumstances and a very strange controller model.
Your comment covers my two main bugbears about IDEs. The first is the assumption that I want the entire project available to me at all times. I'm generally only interested in a tiny subset of the system at any particular moment. It's true that I could set up separate IDE projects for each sub-component, but it's far easier to simply only load into my text editor only the files I'm interested in. I cringe when I watch my IDE-using coworkers clicking frantically around the deep tree of files in the project trying to find the one they want to edit, when I just use the filesystem browser integrated into the shell -- which is designed for quickly navigating to files -- to locate the file and drag it into my text editor.
The second is the integration between the editing, build and deployment. Most of the time I'm writing web apps or other server-side code. Therefore the machine I'm running the IDE on (my workstation) is not where the project needs to be built to (my development server). I gave up trying to figure out how to get Visual Studio.NET to build and deploy my ASP.NET Webservices assembly to the server when I press the "build" button, so I just wrote a simple Perl script to parse the .csproj file and run csc directly. In other situations I've needed to actually build the project on another machine, perhaps because it has libraries available that I don't have on my workstation. At this point, the "build" function in my IDE becomes pointless and I might as well just use a good text editor.
Microsoft's tools are getting better, though. The above situation with ASP.NET Webservices was a while back, before MSBuild existed. More recent versions of Visual Studio.NET actually generate MSBuild scripts for their project files, so my Perl script can now be replaced almost entirely by running msbuild.exe. I still have a wrapper around it that lobs the binary on to the server, though.
for people who develop for Windows, the Internet and smart devices using the Visual Studio IDE simply makes life easier.
The argument seems to imply that *nixes have "lost". Stick a fork in their butts and turn them over because they are finished.
I'm no veteran, but for 7 or 8 years now I keep reading these stories about why linux / free software is so bad, but my expereince has been that its popularity and ease of use has only increased exponentially over the same time period. Major corporations are integrating free software in their businesses. People are getting an operating system AND just about every app they could ever need for free and they are writing complaints about how their mouse isn't wireless! This is great news, not bad. The article is trying to spread FUD.
We have many car companies just like we have many PC manufacturers.
However, people expect all cars to operate with the same set of controls using the same gas. Give them a car which left and right pedals, and a big wheel for acceleration and runs on elk urine, and you're going to alienate some users or, drivers.
Of these, I can rely on the first being present because it's roughly equivalent to using the raw X API: it's as close as you can realistically get to talking directly to the windowing system in Windows. MFC and WTL can at least be built in a way that doesn't create extra dependencies for the user; in MFC's case, we can statically link it. But I can statically link Qt/Gtk to my app too, if I like. The System.Windows.Forms .NET API requires the end-user to have the .NET Framework installed, and I have to be careful about my use of new features in the 2.0 release if I'm aiming for people who only have Framework 1.1 installed. WPF is only available since .NET 3.0, so therefore only available for people keeping their Windows XP machines up to date (it does, at least, install through Windows Update) or people running Windows Vista.
Running an app that targets a .NET Framework version you don't have installed is roughly as annoying as installing a Gtk+ app when you've got a wholly KDE-based desktop. At least in the latter case I usually have a package manager to worry about it for me!
This presupposes that open-source must be helpful or useful to someone through people working together instead of forking projects all over the place. That's the great thing about freedom. Open-source has no obligations to anyone.
Like in Windows when you have no other choice but to edit the registry is better ?
A quick example
a) tweak it by modifying the registry
b) installing a little utility designed for Windows XP
Also
I am in that category too
Linux has lots of monocultures--pieces of software that have become mostly standard:
* the Linux kernel (rather than, say, the Hurd)
* X.org (rather than XFree86, which is now dead)
* bash (rather than ksh, csh, tcsh, or my favorite, fish)
* Apache (I had to look at Wikipedia to see if alternatives even exist)
* MythTV (any other Linux PVRs?)
* GCC, and for that matter, most GNU tools
Perhaps usage standardizes on one piece of software when that benefits people, but usage fragments when there are benefits to choice. Doesn't seem like a problem.
Penny - plain text accounting
Seriously, who cares if the guy down the street doesn't use Linux because there are "too many choices"? Linux and its ecosystem of tools were written by people who needed to get things done. If the guy down the street just wants to play computer games, or write Word docs, and he doesn't want to bother with "too many choices", then good for him, he'll use Windows. And that will be fine for him. For me, at work, and in my personal life, Windows is a major fucking impediment to getting things done, and so I prefer Linux. The only thing that Linux is not suited for, in my opinion, is managing Windows (like maintaining your AD), and thank God for Parallels. But seriously, too many choices? Why should I bend over backward because some dolt (who doesn't seem to understand that in life, there is more than one way to solve a problem) can't grok Linux? Fuck that.
I'm happy with my tools. Sure, it's a psychological tenet that people are overwhelmed by too many choices. My personal tenet says that most people are dumbasses.
The only thing I would add concerns the trepidation about developing for Linux GUIs. As far as I can tell, there is nothing wrong with Qt+ or GTK. My question is that if I am leaving a platform GUI such as Windows, why do I want to embrace another platform GUI such as Qt+ or GTK?
True, Qt+ is a somewhat portable GUI is that there is a Windows version, but then you have the famous developer seat-license fees, and there is some version of GTK under Windows of some controversial level of capability. I am betting on Java Swing. Of all of the non-Windows window managers, widget collections, and graphics libraries, it seems to be farthest along in offering everything GDI can do in terms of hardware-accelerated graphics, and it has FOSS support (check out the FreeHEP VectorGraphics package for generating publication-ready EPS output from Java Swing plots -- simply awesome)
I really think the GUI should be an independent layer on top of the OS because while I will get "locked in" to that GUI layer, I won't get locked in to the underlying OS, and I don't care if that OS is Windows, OS-X, Linux, Solaris, whatever. There are other independent GUI layers (Python-wxWindows, Python-TK, GTK and Qt+ to a degree), but Java Swing is the most capable of them all.
It looks like your trying to cast a class to it's base class without first defining a method.
a ges/ClippySuicide.jpg
http://www.faculty.english.ttu.edu/barker/4367/im
davecb5620@gmail.com
- Install Ubuntu
- apt-get remove --purge ubuntu-desktop
- apt-get install kubuntu-desktop
- apt-get autoremove
My Kubuntu uses the Ubuntu repositories. Sorry, there just isn't enough of a difference for you to care. Just target Ubuntu -- hell, even Debian Etch and I'll be happy.Because the current OS/apps 'everyone' uses (Windows)
has some serious problems
that in spite of all that support out there
have still yet to be fixed.
It sounds to me like it is pretty well broken
and I should look for something better.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
I have nothing but distaste for the Microsoft monoculture and the blinders that result in people who know nothing except the Microsoft way. This was driven home to me recently when I had to take a .Net class from Learning Tree, and the teacher, who seemed very knowledgeable about the topic and had years of professional programming experience, asked "what's LDAP?" with a genuinely puzzled look on her face when I asked about using it for authentication. Oh, but she knew about Active Directory! This is just one anecdote among many that I witness that display the abject ignorance of computer professionals who think the entire computing universe is Microsoft or Apple, and perhaps that oddity Linux.
1) Your software still looks like a 16-bit Windows application. I imagine the code isn't very portable to begin with. Hence your difficulty in porting.
2) GTK is your GUI target. If you need a C++-based library, then target wxWindows or QT (added bonus, you get Windows compatibility for free with those two).
There aren't any other choices. It really isn't as complicated as you make it out to be.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
Hmm, I am not sure I would use any, non-strategic, software product again unless it was completely, openly GPLd, and could potentially live forever.
I see WinImages only supports through XP - you say Vista won't happen?
What has happened to your past Amiga customers, now Windows.
When wither OS/X?
Apple lost out on hardware cost. Because Microsoft doesn't make and sell the computers on which Windows run, competition has driven down the cost of hardware.
I recently needed to purchase a new laptop. I looked at Apple/Mac and I looked at current Windows laptops. I ended up buying an HP for less than US$900 because the comparable Apple product was more than twice the cost.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
"Not an actor, but he plays one on TV."
over java because with java you've got too many options. it requires you to be familiar with all of them and expert in none of them. you can't trust your software unless you've got a deep understanding of the language & the platform. it's hard enough even then!
Which part of Linux has too much choice?
The GUI? GTK+ and Qt. Just about every system has GTK installed. If you want to complain about that, first show me three mainstream multimedia apps in Windows that use the same toolkit. There's a reason you don't see dozens of nonstandard bitmap-based apps on Linux. They look like shit.
The system binaries are glibc, gcc, ncurses, bash, etc. DLL Hell doesn't exist because the distros handle all the dependencies for you. The kernel setup is only a problem if you're writing drivers or have severe NIH syndrome.
For graphics you have opengl. For sound and input you have SDL, and optionally OpenAL if you want hardware accelerated sound. DX10 doesn't give you the option of hardware accelerated sound. How is that "better"?
Blame the user and tell him he's lazy for not understanding crap that just gets in the way of getting work done.
It's easier and more efficient to ask "paper or plastic" than to follow that up with "paper made from wood pulp or grasses?" "recycled wood pulp or all-new?" "paper from hardwood or from softwood?" "Made from trees from the Northern hemisphere or southern hemisphere?" "Bleached or natural?" "Logo printed on or blank?"
Sure, some people will want all these decisions, but they shouldn't be a requirement of the OS. Solve the Gnome/KDE nonsense and you'll see Linux propagate much more than it already is.
the major advances in civilization are processes which all but wreck the societies in which they occur - A.N. White
Get a neutral color; white, black, or brown. Neutral colors will go with any color, so you can paint your walls any color you like, and your carpet will match any furniture. You shouldn't make a choice that restricts your future choices (and that's true of your choice of OS as well, I'd advise against Gentoo for that reason).
That said, stick to brown. White is a nightmare to keep clean, and black isn't a lot better. No matter what you spill on a brown carpet it won't show much. Oh, make sure they scotchguard it, and you might want to reapply the scotchguard every few years.
As to the pile, etc. well, that's more of a choice. You're on your own there.
I say this as a man who has had many different carpets. I now have hardwood floors!
-mcgrew
With that attitude you might actually start making money.
Oh sure, I'm not up to IBM standards so I'll never make money (five billion dollars a year) like they do. I'm a flunky that needs insane licensing, hard to maintain and featureless code that is somehow "easy to use." I'm tempted to say something snide about how rich I'd get shopping at outrageously expensive department stores, but many of them actually provide a service for their money so the comparison would not be fair.
Friends don't help friends install M$ junk.
There is also a lot of hardware that will only work with windows: combination print/fax/scan machines, wireless NICs, WinModems, specialized devices such as barcode printers, POS equipment, and so on.
You f'ing ignoramous. The U key is on the other half the keyboard ffs.
Appropriately, the captcha for this post was "amateurs".
or W2K or whatever.
I don't know where this bizare idea that people will switch to linux, instead of staying with what they already have.
The problem is not the existence of too many choices. The choices should be out there for those who need them, but they should also be transparent for those who don't need them. This is one reason Ubuntu has proven to be so user-friendly. It makes many choices for you by default, which are good choices for most users. It doesn't force users to think about choices that they don't really care about anyway.
On the other hand, I think that open source development often wastes much of its potential by creating too many varieties of products. I have a dozen video players installed on my system, and I'm still searching for a good one. There might be a good one available if the development work hadn't been repeated across so many similar products.
ow many non-/. reading, mainstream users are going to install another widget system on their computer?
. html
Quite a few actually. Your family members will all have the same experience, clicking on setup.exe.
the reason that so many companies choose the Windows development? It just works
If you are trying to make another Solitiare (sp?) game, then yeah windows works. Microsoft's tools are limited. Very limited. That you have a problem with complexity outside Microsoft's use cases is very narrow-minded. There are so many use cases that fall outside Microsoft's development range, you simply haven't had any experience with them.
Instead of being content in Microsoft's walled garden, check out a Linux distro and see what it's like. It will be like going from AOL to a real ISP. Here's a good link to get you started on Debian. http://www.desktoplinux.com/articles/AT8143350649
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
Reasonable, though with my current experience, HP is one of the few companies where given the choice, I'd still pay the Apple premium (and then replace the OS).
34486853790
Connection too slow for X forwarding? Try "ssh -CX user@host"
Windows is in the sweet spot of how much it does without asking you, and in how many options it has. Linux does absolutely nothing without explicitly being told. Apple does a whole lot without consulting you for your opinion on the matter. Windows is in the middle, offering what many find an acceptable compromise of configurability and functionality.
-- I prefer the term "karma escort."
gtk+ runs on win32 and Mac OS X quartz.
so it's really as simple as: QT, or gtk+ . If you like c++ then gtkmm or qt. There are also java and c# bindings.
Indeed but pick a toolkit and take.. say.. Windows Vista. All of the APIs you wanted are there in the base OS install. Whether you use .NET or unmanaged code, the .NET stuff basically is a special language interface; it's no different to using a Python binding for GTK under Linux. The effect is, that you get to compile code in for the CLI, using managed code framework, rather than poke at the OS as low as you can go.
Sure, there are variants and wrappers but we are talking about the whole Windows windowing system basically layering substantial improvements in usability on top of the same basic Windows UI. Windows provides - since a long, long time ago - little utility functions so that if you DO want to draw a pretty looking button that matches system style, it is in fact a simple call away.
What if you want GTK and Qt apps to look the same? Well, there is no underlying standard X GUI toolkit, most applications have zero concept of what window manager is running around their window canvas, and when they draw a button border, they do it on their own special little GUI toolkit.
From a usability standpoint I think it's awful. Any OS that purposefully lets people install themes like a Denon HiFi (all black, with tiny charcoal-grey lettering, tiny blue lights and no contrast) means the system is basically totally unusable. I applauded Microsoft when they said they were code-signing themes and only allowing the two basic ones in XP; I love the way Apple apps pretty much all have to look the same way (even if they do change their mind every 5 minutes between candy and brushed aluminum). You get a button that looks like everyone else's buttons, so everyone can see a button and know it is a button.
FreeDesktop should, I think, define a standard "Window System Look" API and library somewhere which allows these things to be plugged together. A single and simple theming API which arbitrarily enforces certain usability points (standard window toolbar icons for example) maybe based around Cairo or something. Then, GTK and Qt and whatever else on the planet can just USE it. Want to draw a button? Yeah sure, do it in your own GUI toolkit API, after all there are some advantages of using either. But let's make them look the same and act the same without having to meticulously recreate theming on every toolkit known to man..
The advantage that a good IDE gives you isn't something that "folks talk about" anymore than gravity is something "folks talk about".
This has got to be the most backward-ass, half-baked, clueless assessment of why to use a product that I've ever seen --- "Please give me just one thing, because I am incapable of choosing from many other great alternatives. I'm incapable of developing my product so that it will work. I must be shown the way."
Let me give you a good reason why one and only one choice sucks -- when your one and only choice sucks. Visual Studio 2005 was, and in large part still is, a complete disaster. Don't believe me? Google 'Microsoft Visual Studio 2005 sucks'. Follow the first link, and read with horror how even the most ardent MS dev fan boys had their asses set ablaze by their wonderful lack of choice:
http://www.microsoftweblog.com/2005/11/05/problems -with-visual-studio-2005/
I've worked with Visual Studio for years (not weeks), starting with Visual C++ 1.52. I've seen it rise and fall, and let me tell you, it's falling now. Many experienced developers are still clinging to VS 6 circa 98 because everything since just plain sucks. That's what you get when have no choice -- no choice. Ask the ISV's that developed with Visual J++ how they felt when MS and Sun got into it and MS, throwing a hissy fit, just *drops* the product. Ask people who have developed millions of lines of code in Visual Basic how they felt when MS abandoned them and EOL'd Visual Basic. There's lack of choice for you.
This guy has one week working with a MS product, and now he's telling the rest of us the error in our ways. Why is this clueless drivel even on slashdot? I understand the right to post whatever your like on your blog, but you call this slashdot worthy?
Too much choice. You've got to be joking. Is that the best argument for using MS products?
http://uncyclopedia.org/wiki/User:Steve_Ballmer
I have found only one single reason to hang on to IE, I have the displeasure to sometimes need ActiveX. If it wasn't for that I would have stopped using IE long ago. However, here again it's a choice for best fit. In a Win only world you would just be stuck with IE..
As for choice on word processors, I like OpenOffice better than Word, but that's because its word prediction feature is something I use almost daily. And my spreadsheet needs do not exceed Calc
If you look at the overall picture there's almost no reason why I should stick with Windows either, and I don't - my desktop is running more and more time in Ubuntu :-).
Does that make me a Linux fanboy? Umm, yes, probably. I simply like things that work, and for me (as in 'for me PERSONALLY') Ubuntu does the job better than Windows. May not apply to everyone (nor would I say that), but it works best for me..
Insert
I know about all sorts of other build environments. They're at a disadvantage now, because the only one that Visual Studio actually supports is MSBuild. Embrace and extend.
Then Microsoft must be full of insane persons. Even folks who use Visual Studio use it as a glorified Notepad most of the time, without even attempting to use its project management.
I know Vista is no good. I have XP, but eventually I will also put another computer on the other side of my desk with Linux. Also many people find Windows easy so they use it (but there are also people that find Windows still difficult). And with viruses and spyware and other stuff it will make problems and slow down and nobody will know what wrong with this.
I have read these messages. The new game-console system that I am creating is designed to fix this problem (because it is more than just a game-console system). If you want something, get the DVD for it if you don't know how to do it yourself! But you still can do it by yourself if you want (unless the DVD is commercial and closed-source). Or, you could get a program written in BASIC and this new system will run it directly from the source-code without needing to do anything else. You can also edit it if you connect a (optional) keyboard.
I know there are many different Linux distributions, but I will make a new one that will work with your TV and/or VCR. (It might not be fully compatible with a DRM TV, I haven't tested it, but if you set the aspect ratio and just don't use the HDMI, then it should work OK.) I may fix the kernel (and even the BIOS) to provide compatibility. Most people can do it by just inserting the DVD and push START button (on the game controller or IR remote control), you don't even need to log in or anything like that. But, if you want, you can do nearly anything more complicated than this if you prefer.
Just because the actual sale isn't occuring on the software doesn't mean the software isn't part of the sales-pitch. Having good software available for the hardware platform they are pitching is very much in their interest and impacts the ultimate sale.
This of course is just my little opinon. I love open source application. Firefox, gaim, gvim... But when it comes to a linux distribution, it just never feels whole. I've got kubuntu at home (started off as ubuntu), and I just can't stand all the options. Consider adding/removing programs. I count about 3 package managers installed plus the add/remove programs. Sometimes one will complain it can't do something and it tells me to use another package manager. I could go on about text editors...but I'm sure we can all think about a million and one examples. I could go on, but the simple answer is choice is great, but managing choice is hard. 'The core' is not an absolute term. it's an abstract concept upon which applications are based and the system is managed. The core is much more than just the kernel. Windows has a dictatorship at its core. But you have the choice of any application. The applications can depend on this dictatorship at the core. If you really want to play around, you can get around the windows core (for example, you can easily replace the explorer shell). Linux is free in the core and free at the application level. The applications cannot depend on the core. This leads to multiple 'cores'. I take issue with the author's suggestion that windows does not provide choice. It most definitely provides choice. I can do a search on the internet for windows text editor and get a million choices. Even for development, there's plenty of choices. The key is the separate between the 'core' and the 'application'. This is something linux does poorly, when in reality this should be its strength. Why does KDE needs to tie everything together (shell, webrowser, text editor, word processor...) all K'd :). And then GNOME has its own set. Sure, you're not forced to use them mutually exclusively, but they're so tied together with their components, its like they're 2 'cores'.
Choice is bad - obeying is good.
Linux bad, Windows good.
I don't care if he's talking development environments, that's what he's saying.
Windows shill.
Nothing to see here, move along.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
Oh, and re: making a decision; I'd start with Consumer Reports for the 'functional' parts (durability, stain resistance, etc) and maybe find some home visualization software, if such exists, and try out the various carpet types. Or, like I said, just close your eyes and imagine the possibilities first. Or go to a real carpet store and ask for suggestions on picking out a style. I figure people who work at dedicated carpet places would have some ideas.
"Why does Microsoft win the development environment war so often, when we all know it's a lifetime lock-in to Windows?"
This question only makes sense when addressed to the hobbyist, not the professional. Though even in that context, I'm not sure it's even true for the hobbyist.
I mean, do you really think that any non-Microsoft IDE could ever do very well against a Microsoft IDE when developing for a Microsoft OS, whether or not it's open source, or even regardless of how good it is, when the non-Microsoft solutions will always be playing catch-up when new OS features are released? And of course, when Microsoft makes an active effort to induce new incompatibilities, often just to make it harder for the competition?
Serious developers will choose Microsoft development tools because they're developing for a Microsoft OS. Period. You might better ask why people choose to develop for a Microsoft OS, but once that choice has been made, the choice of Microsoft development tools quickly becomes a no-brainer. Unless you're on a very tight budget, that is (i.e., you're a hobbyist). No professional chooses a platform because of the development tools, they choose development tools because of the platform.
Software is made in layers, mostly. It is not always written with layers, but it 'is' layers. The stack is sometimes reordered, but it's layers all the same. Domain + Rules, Presentation + Manipulation, Implementation + Persistence. The layers that change the most often are technical layers like presentation + manipulation + implementation. All the rest is relatively stable. When you go for open source, you decide when to change the technical layers. You decide how loose the coupling is between the changing/non-changing layers. When you go monopolist, they decide when to change the technical layer. And mostly they decide how loosely coupled the layers are. Now which choice is best?
--------
* Sigh *
I'm leaving my company now, and I'm writing up some documentation on the systems I've left behind.
They're all similar. They are web apps which did similar things, so I wrote the applications in similar ways using similar technologies. The build similarly, they install similarly. I would choose new technologies as I went, if they were clearly better but I tried to fit them into my existing assumptions.
That is all fine as far as it goes. In fact that shows more discipline on your part and something you should be commended for.
Choice is great if you are a rogue cowboy developer. Lot's of stuff all over the place, bits and pieces thrown together. I remember a project we had here, it'd been outsourced to some third party. It came back with just about every piece of free open source software you can imagine. The data entry screens were Java running on Apache, the reporting screens were Python, the admin screens were running Perl scripts. The data entry stuff used Oracle, the reporting used postgres. The whole thing was tied together with some other bits of glue and tape. Thank God the morons who wrote it were horrible architects and the thing couldn't scale, otherwise this piece of unmaintable crap might have ended up in production.
This, however, does not follow. Your argument seems to be that, because you can make bad choices, that choice is bad. That perhaps we need to be protected from ourselves. Perhaps even that all software development should be done on training wheels.
The fact is, if you have any engineering skills at all, you are going avoid the problems you mentioned above. In short, blame the engineer, not the fact that the choice was available.
LedgerSMB: Open source Accounting/ERP
Like with political systems, market choices are difficult to handle and need *education* as a
.NET path, you're pretty much stuck there forever, Mono not withstanding.
prerequisite.
Platform lock-in is NOT the only problem: consider the fact that using proprietary technology
means that you give up control and thus create a risk, namely if your supplier has a bug in
their code, only they can fix it. Now if they are too busy (or you too unimportant to them),
this may totally screw your project in the absence of open sources.
In an open source project, however, you could hire a technical consultant specialised in your
product/API in order to fix a bug/add a feature, and feed it back in the community. You'd help
yourself and improve the world at the same time.
This is not Microsoft bashing, but a criticism valid for all kinds of black box technologies.
> Now, least you think I've been turned to the Dark Side, there is one BIG problem with a monoculture,
> which is that you've essentially sold your soul for the stability of a clearcut set of choices.
> You go down the
Clickable link
We use the most basic GUI API possible as a matter of policy. That is why you see the low color icons and so forth. It isn't an accident, or the result of "old code". Though it is a policy we've been following since 1985, when we released our first GUI program, PCLO, a printed circuit board layout CAD system.
However, your speculation on "difficulty in porting" is entirely off the mark. Our stuff is easy to port because the amount of dependencies on the OS, including GUI requirements, is minimal. The applications themselves are straight C code through and through. Our main apps were ported to Windows from the Amiga, a completely different system with a completely different GUI layer, in about two days. The application controls and signal catching are highly modular internally, and we have no problem whatsoever porting them. They were never "spaghettied" through the code, so it is not all that much work to replace them wholesale. The only potentially daunting task is bitmap conversion; there are hundreds of icon bitmaps buried inside Visual Studio, and getting them out is annoying to the tune of several hours of make-work.
Further, that same minimalist approach has meant that our software continues to work without changes on each successive release of Windows, and it also allowed us to port to the PowerPC, Alpha and MIPS versions of windows in very short order. Maintaining the RISC versions was a bit of a bitch because Microsoft kept doing things like invert the Y axis on font rotation and just generally foul up their RISC code. Our linux port was done in less than a week (and some of that was just fooling with different widget sets.) You presume we had "difficulty in porting", but that isn't what I said. I said we weren't going to release a port.
With regard to Windows, the same version still runs on 95, 98, NT, 2000, Me, XP and Vista. All releases and all service pack levels for all versions. The same system calls. The same code. It has to be recompiled for RISC targets, but that's only a minor problem; there's no difference in the GUI layer there, either. The lack of RISC machines is the real problem. Microsoft really screwed those people hard. But that's a different discussion.
The code for the application core is 32-bit and always has been (the Amiga offering / demanding a flat memory model long before Windows ever went there.) But even so, the current release version is anything but "16-bit." We're currently working on a 64-bit version that is broadly multiple CPU/core aware, and that is going to finally break our long chain of compatibility. I have to admit, way back in the 80's, 32-bit did seem like enough. Not that the tools really would have let us build a 64-bit app at the time. Still, although 32-bits is enough for a lot of things, 64-bit does some really nice things for deep pixel manipulation, and the new stuff is fun to fool with. We're still using the minimum calls to the OS, though. You never know what is around the corner.
GTK is LGPL. So we can't use it. wxWindows uses GTK, which is LGPL, so we can't use it. QT is costly for a proprietary application, and again, that's not going to fly with a free product.
Yes. I know. That's the whole point.
I've fallen off your lawn, and I can't get up.
I posted some bugs recently, and some patches, to some GNU products and some websites.
I got insulted several times, and some of my bugs were closed without being fixed.
So, I just ignore them, and don't try to contribute anymore.
But I gotta say, I've seen this type of really poor attitude a lot in GNU projects and in many large Free software projects -- the arrogance and quick use of insulting, is so sadly opposite of a polite & professional world, that I expect many professionals such as myself simply walk way shaking our heads, thinking, these people clearly are not evangelists out to change the world.
Microsoft may be evil (and I'd have to concede they are in many ways, because to be honest, even their documentation spreads malicious lies in many places), but at least they have some good evangelism going -- getting people pumped up, feeling welcome, excited, and encouraging participation.
>> What commercial coding adds is discipline.
> Where in the world have you worked?
Commercial coding adds a "need to ship now" discipline that doesn't necessarily lead to good code. I doubt that Donald Knuth was driven by commercial pressures when developing TeX and Metafont. In many cases, good code is a result of the right person becoming interested in the right problem set.
It seems to me that the Open Source movement is driven in part by "commercial pressure" (programs people use are intrinsically more interesting than programs people don't use) but also things like "sexiness" (e.g. 3d animation tools or games are sexier than, say, spreadsheets -- which is why we have far more open source 3d toolkits, libraries, etc. than spreadsheets) and some kind of Je ne sais quoi I'll call "charisma" (e.g. FireFox for various reasons was far more charismatic than Mozilla).
One of the "sexiest" things for computer programmers is writing their own computer language. This is why the Open Source community is blessed and plagued by so many languages. For a programmer, how "fundamental" what you're doing is to the world of computers is a badge of honor, which is why designing languages and operating systems is cooler than writing compilers and editors is cooler than writing word processors and spreadsheets. It's also why anyone coding in an interpreted language secretly or not so secretly feels inferior to folks using compiled languages.
These are all natural phenomena. I think that the only solution would be for a bunch of very smart and egotistical people to swallow their own pride and decide, say, not to fork their own Python variant and instead just help make Python better.
I recently had a few days worth of fun trying to get Apache, MySQL, and PHP running on my Windows 2000 server. I will not bore you with the details as to why I simply didn't put Linux on it. Suffice it to say that the majority of the applications I use require a true Windows platform. Anyway, I had some problems with various installations of Apache and PHP, especially when it came to getting PHP to write to the MySQL database. I read through pages and pages of "How To's" and read thread after thread on how to edit this config file, how to change that parameter...I was so frustrated with this whole ordeal and nearly dropped the whole PHP/MySQL project for IIS/ASP/SQL. I could have also fought IIS to get PHP/MySQL running, but why bother? I eventually got WinLAMP to work.
The moral of this story is that as a graphics designer/web developer, I want a GUI and simple steps to get me from Point A to Point B. Why? Because I want to concentrate on designs themselves, not how to get something up and running to build those designs. It's not laziness that fuels this attitude. It's specialization. I know how to work in 3D Studio MAX, Photoshop, After Effects, Premiere, Flash, and a number of other related applications. I can write HTML, CSS, and some light PHP. Requiring me to understand how to compile source code, edit text-based configuration files, or recompile my kernel isn't going to make me want to use open source software.
Like so many other people have said here, the open source community suffers from an excess of choice and little motivation to adopt standards. It's like ordering food from Burger King versus In 'n Out. Walk into Burger King and you have a whole slew of choices to pick from, which can be good. Walk into In 'n Out and they have maybe a quarter of the items available because they serve a simple burger, fries, and soda (or shake). Ordering made simple...
I'm by no means a Microsoft fanboy. Open source software has already proven to be, for the most part, more reliable and secure than Microsoft's products. However, if the open source community expects people to be more supportive and involved, it's time to stop offering more choices and start standardizing the choices that are already available. Make open source software simple, intuitive, and easy to use and the mainstream consumer might actually take Linux a bit more seriously.
If to much choice was not an issue, that thread wouldn't exist
Linux, while a better OS all around, is simply not intuitive enough for the average user. Note the use of the word 'average' here. Even the most user-friendly flavor is light years away from the masterful intuitiveness of Vista (even with all its flaws, Vista remains the most user-friendly OS ever produced to date)
Users want basic behavior in an OS, not complication. Users want to click one button to make something happen. This behavior is evident throughout Vista. To get the same effect in a Linux distro, you must click ten buttons, stand on one leg, learn how to mount \dev or \root, or whatever, learn some bizarre or arcane switch command language, and pray to God that in the end you don't wind up hosing the thing.
While YOU may not have a problem doing any of that, Grandma Wilma or Uncle Frank simply don't have the time nor inclination to learn or mess with it. They want the simplicity of one button, and they'll pay bucks to get it.
In 4 years, Linux has managed to capture a mere 1%of the OS market , and that even with the big corporate names backing it. It simply hasn't caught on. There must be a reason as to why, and I'd bet the farm that its this unecessary complication that keeps Linux languishing at the bottom.
I think you hit the nail on the head there.
Although, I will say this - Linux does a lot without being told, depending on the distro (Gentoo is the only distro I've tried that does less without being told than FreeBSD), but the distros that do a lot without being told, don't always do the *right things* without being told, is another problem.
34486853790
Connection too slow for X forwarding? Try "ssh -CX user@host"
System power and capacity (speed and amount of memory available and required)
Connectivity (type and speed required)
User interface (type and resolution required)
Small applications could be embedded. Larger ones could be hosted on a microprocessor. Huge ones would end up on mainframes or super-minis.
After a certain level of complexity, applications broke the 640K limit and ended up in alternative operating systems such as Unix. Having to make platform decisions such as BSD/SYSV and OpenLook/X were serious committments. The fragmentation of the Unix community made it difficult to specify a particular vendor and platform because of unknow lock-in implications.
I do remember at that time we wished for a standard platform for general development with plenty of headroom and versatility. GNU compiler tools were not quite there yet and vendor language tools were expensive and often a lock-in. Unix was ominous, and NetWare was unstable/touchy. The Mac and Windows 3.0 had memory management difficulties.
When Windows 3.1 in enhanced mode arrived, memory management became easier. People writing non-trivial Apps used Windows if only for the memory model and later to use the GUI. There was a time I used to own a variety of compilers for the Dos//Windows platform and would use whatever was best for any particular application. With the advent of Microsoft Foundation Classes (MFC), the vendor lock-in (Microsoft) began because the MSC usually came with their latest MFC version and competitive compilers usually had down level versions of the MFC. This was the beginning of the end in my mind. Visual Basic only made things worse.
Hard core applications such as Autocad were ported to "workstation" class machines and vendors bit the bullet when it came to porting costs.
In my mind, the arrival of the code wizards that would generate 28000 lines of code in a few seconds only made things worse.