Attn: Windows guys

serious question, not trying to start a lame flamewar.

how do you guys feel, and what are your positions, regarding general portability, cross-platformness, and not being locked-in?

one of the major attractions of open source and certain non-Microsoft products to me is that I am not locked into the Windows and x86/x86-64/ia64 platforms, and that I can create things fairly easily for more than one platform.

you can accomplish not being locked in in one of two ways... open standards and open source.

Microsoft has what I consider to be a very poor record in working with open standards... the Kerberos fiasco, the Active Directory violation of standard LDAP, and lack of Office document standardization as all cases in point.

Microsoft's position has consistently been to "embrace and extend" open standards so customers are locked into Microsoft's intentionally incompatible version of a standard.

we all know what Microsoft's general position on open source is.

While Microsoft tried to be cross platform in the past with Alpha, PPC and MIPS versions of NT, those died out.

open source operating systems are ported to other operating systems quite often and easily, provided someone is willing to do the work of conversion and some maintainance.

a hardware CPU company with a new CPU can reasonably pay a few kernel and compiler hackers to port a portable open source kernel, a open source compiler, and some userland utilities to their new architecture... or they can hire in-house staff to do it.

it would be much harder for a company to persuade Microsoft to port Windows to their architecture and give it full support, even with payment.

Linux, for instance, has some differences on embedded systems and on mainframes/NUMA systems/clusters, but the basic user experience and programming experience is similar on all.

this allows you as a programmer to extend your skillset to a significant number of platforms.

of course, Windows does has dominant market share in many areas... but in the future, this market share will increasingly be limited to the desktop while non-MS operating systems, particularly Linux, will control most other areas.

Linux basically owns the 32-bit and 64-bit embedded non-hard-realtime OS market.. and it may be getting the option of hard-realtime support in the main kernel tree in the future. WinCE is a nonstarter in this market, basically.

for servers, Linux is steadily increasing it's marketshare and appears to be starting to eat into Microsoft's market. While it will definitely not eliminate MS from the server market, it is likely Linux will gain dominant market share in servers in the future

also, most open-source operating systems are generally POSIX compliant, more or less. so a well-written program on one should work on the rest with minimal porting. It will also work on other POSIX compliant systems... and most non-Windows OS's have at least acceptable POSIX compliance, if not excellent.

Windows servers has a subsystem that impliments one part of POSIX, primarly for accounting purposes to keep government requisitions that require all OS's bought conform to that part of POSIX.

compare porting a native POSIX application to native Win32, or vice versa.

I know theseanster has been messing around with C# on Mono... what do the rest of you do, or do you not really care?

I'm pretty insentient about it quite honestly because I'm an independent consultant that specializes in Microsoft technologies. I've never felt compelled to switch to linux or program in java because there's never been any real motivation for me. I see where you are coming from though.

Good architecture planning will promote the kind of flexibility that cajones just described. The software shops that I've worked for over the years have standardized on Windows; however, these were short tenures for the most part. The majority of my career has been as a contract consultant. Those shops hired me for my skills with MS products (and platforms) because they were...well, MS shops. Hence, the only customers they have are internal. When I worked a gig for America Worst (err..I mean West), they weren't going to be distributing their booking engine, corp, or travel agency Web sites to anyone else. So, that's my "excuse" for not caring "outside of the MS box" (hehe, I said "box").

Also, I have to eat crow here a little. I've made my arguments for VB in the past and that was based on the right time and place for that language - the 90s. Uisng VC++ 6.0 versus VB6 to develop business apps would have taken exponentially longer to develop and debug, so most big MS-based shops used VB understandably. The ability to throw a compiled VB COM DLL into COM+ to easily have things like object pooling and transactions was pretty slick. Also, for any kind of COM automation, I still think VB6 is a fine tool (i.e. programming againt the Office lib, or writing binary behaviors). However, all of that being said...I think it is no coincidence that the majority of code on the "Daily WTF" blog is written in VB. Sorry, VB guys. I honestly cannot stand VB.NET. I would not even consider using it unless there was a good reason and there could only be less than a handful of those: 1) Office solutions, 2) SQL Reporting Services projects, 3) Your team knows VB and no other languages. Of those three, the last one I find kind of frightening and I probably wouldn't want to work in that kind of shop. Ever since .NET has come out I've been all about C# (which is clearly a java ripoff, let's not kid ourselves). There are definitely VB converts to C#, but a lot of really great VC++ developers stil use VC++ and C#. They tend to understand OO concepts, have a better grip on architecture, and can at least speak the basic language of design patterns. So, in a way I'm pulling a John Kerry flip flop here and saying that VB coders are not made up of the best and the brightest with a few rare exceptions. The one's that I run into now are managers who write programs, and your basic hacks...not hackers, hacks. I'm not sure if this really changes my position or not like Mr. Kerry, but I'll have to check the IT Forum archives to find out for sure - haha. Does this mean I can't be a libertarian anymore?

Anyway, good thread.

We have major M$ presence on site, though I am Unix by training.

Industry-wide, software costs are around 20% of the IT budget. For whatever reason, our upper management hates to spend even 5%. So for us, HW is not an issue because i386/x86_64/EMT hardware is the cheapest anyway. We tend to stay away from exotic hardware anyway.

So the biggest issue is M$ software, server, and client licensing. From that point of view M$ really sucks, and it is a constant struggle to keep people license compliant.

There are some other non-obvious advantages to M$. Sysadmins are $10-20k cheaper. Sysadmins are easier to find (though usually not as good as Linux sysadmins).

Also, there is a flip-side to Cajones's story. Some clients require Windows. Your code has to work 100% the Windows way straight from the beginning. So that goes the other way too.

SO there are some M$ advantages too.

I don't know that Linux will ever take over servers entirely. For Web services yes, for databases more and more. But right now, Linux eats away mostly at Solaris/Tru64/AIX, not so much at Windows.

$ound$ $illy, but the$ean$ter love$ M$ $oftware lot$

"how do you guys feel, and what are your positions, regarding general portability, cross-platformness, and not being locked-in?

"

being a die hard windows guy, i cant really say i spend a whole lot of time worrying about general portability, cross platformness, and lock in.

in terms of applications for desktop users, there is really only one platform in use in most large environments, and that's windows. Sure there might be a smattering of Sun, or Mac's here and there, but for the most part, outside of specialty engineering or other super custom shops windows rules the desktop, so it doesn't make an enormous amount of sense to write a really shitty java application, just to be able to say some linux guys, or solaris guys can run it too.

In terms of cross platformness, something you write for linux, could theoretically be run on BSD or SUN under emulation/compatibility, but each market share is soo small that it hardly matters.

I really don't take into account the pocket pc type devices or embedded market, it's not my thing

I guess when you get to the server market or back end kinda thing, this stuff matters a whole lot more, but realistically, each side writes for their own back end. the war for back end isn't really between windows and linux, thats a complete re-write, the real benefit for portability for linux is getting rid of expensive sun boxes.

I don't own a large corporation, so i don't really care about lock-in, and really wouldn't suggest that anyone i talk with use open office. i know deep down that office 2000 was the last really useful version of office, and everything since then has been fluff, but am realistic, and don't let my want for something to be really good make it good in my mind, like alot of folks do with open office

I'm not slamming, i guess the whole open source thing means well, and if they really got thier shit together and stpped trying to be windows, at least on the desktop side, they'd really have a chance and offer value, but for folks i'm doing stuff for, they don't care about portability, or crossplatformness, they just want thier requirement met, and met pretty quickly.

I'm all cross platform. I use OS X, Linux, and Windows every day. I pretty much do everything in ascii text when I can, or pdf and just email it to myself. Word is the bane of my existence. Sometimes professors post homework assignments and stuff like that in Word format and it pisses me off. You can open Word docs in non Windows OSes, but often it isn't formatted correctly. Including using Word for OS X, from Microsoft.

I think within 4-5 years, Linux will actually be competitive on the
desktop. On the server side, its already eating marketshare from
Windows, and it will most definitely pass up Microsoft in the future.

The evolution of F/OSS happens more rapidly than monolithic code,
and the arguments for closed source/proprietary software is waning,
because there isn't much Microsoft servers can offer in terms of code
quality, functionality, usability, features, security, performance, etc that
couldn't be offered by F/OSS.

Its tough to compete with a 'movement' built around a geek idealism,
that is willing to work for free.

"Also, there is a flip-side to Cajones's story. Some clients require Windows. Your code has to work 100% the Windows way straight from the beginning. So that goes the other way too.

SO there are some M$ advantages too."

it's much easier to go crossplatform with Unix-based stuff than Windows.

QT, GTK, wxWidgets... all of these toolkits can be run on Windows as well.

"I don't know that Linux will ever take over servers entirely. For Web services yes, for databases more and more. But right now, Linux eats away mostly at Solaris/Tru64/AIX, not so much at Windows."

a year or two years ago, I would agree with you.

I don't think that's really true anymore these days, though.


bob hir


"being a die hard windows guy, i cant really say i spend a whole lot of time worrying about general portability, cross platformness, and lock in.

in terms of applications for desktop users, there is really only one platform in use in most large environments, and that's windows. Sure there might be a smattering of Sun, or Mac's here and there, but for the most part, outside of specialty engineering or other super custom shops windows rules the desktop, so it doesn't make an enormous amount of sense to write a really shitty java application, just to be able to say some linux guys, or solaris guys can run it too."

you can write fairly portable apps in C/C++, you know.

hell, Mono works for both platforms as well.

"In terms of cross platformness, something you write for linux, could theoretically be run on BSD or SUN under emulation/compatibility, but each market share is soo small that it hardly matters."

I use Linux ABI compat a lot on the BSD's.

and while the BSD's do not have huge market share, they are important enough in the server and device market.

"I really don't take into account the pocket pc type devices or embedded market, it's not my thing"

good portability allows Linux software for the desktop to run on Linux-based handhelds.

"I guess when you get to the server market or back end kinda thing, this stuff matters a whole lot more, but realistically, each side writes for their own back end. the war for back end isn't really between windows and linux, thats a complete re-write, the real benefit for portability for linux is getting rid of expensive sun boxes."

market share for servers is steadily increasing around the world.

Linux is starting to reach the point where it's not going to grab more Unix sales.

Linux is starting to grow around Microsoft by grabbing new customers in different countries rather than letting MS get them.

it's also getting a small but significant number of converts from enterprise Windows.

Like I said, it's only recently Linux has really started to begin eating into MS strategy.

"I don't own a large corporation, so i don't really care about lock-in, and really wouldn't suggest that anyone i talk with use open office. i know deep down that office 2000 was the last really useful version of office, and everything since then has been fluff, but am realistic, and don't let my want for something to be really good make it good in my mind, like alot of folks do with open office"

I agree OpenOffice isn't perfect and has problems.

however, after a bit of getting used to it, I can still get work done just fine.

"I'm not slamming, i guess the whole open source thing means well, and if they really got thier shit together and stpped trying to be windows, at least on the desktop side, they'd really have a chance and offer value, but for folks i'm doing stuff for, they don't care about portability, or crossplatformness, they just want thier requirement met, and met pretty quickly."

right now, MS is copying stuff that is was Linux or OSS first.

XAML = gussied up and incompatible version of Mozilla's XUL, done much earlier.

the basics of the advanced searches MS wants to do with Longhorn were already starting to be implimented by a project for the GNOME system when they announced it.

MS has never been good at innovation.

Linux and OSS are now most colleges' first choice for research projects.

The crack about OSS stuff merely being a knockoff isn't true anymore, if it ever was.

being a die hard windows guy, i cant really say i spend a whole lot of time worrying about general portability, cross platformness, and lock in.

-SNIP-some linux guys, or solaris guys can run it too."

you can write fairly portable apps in C/C++, you know.

+++++++++++++++++++++++++++++++++++

your not running a portable c++ app on windows unless it's a console app, or your adding in some extra toolkit or other widget type thing, and then you're creating the mess of the right librarys etc to windows. Windows already has the DLL mess, why introduce more. On top of it all, unless it's a server app, why bother with portability. If your clients use windows, write for windows, if they don't write for what it's intended for, or overall make it a java web application....

+++++++++++++++++++++++++++++++++

hell, Mono works for both platforms as well.

+++++++++++++++++++++++++++++++++

no one really uses that yet

+++++++++++++++++++++++++++++++++

"In terms of cross platformness, something you write for linux, could theoretically be run on BSD or SUN under emulation/compatibility, but each market share is soo small that it hardly matters."

I use Linux ABI compat a lot on the BSD's.

++++++++++++++++++++++++++++++++

BSD is very cool, but really has minimal marketshare outside a few specialized functions, BSD ABI is a convienence..

++++++++++++++++++++++++++++++++

and while the BSD's do not have huge market share, they are important enough in the server and device market.

"I really don't take into account the pocket pc type devices or embedded market, it's not my thing"

good portability allows Linux software for the desktop to run on Linux-based handhelds.

++++++++++++++++++++++++++++++++++

where i work handheld = executive tinkertoy
there is a very legitimate embedded market out there, but that usually gets very specialized in terms of setup and programs to be run on it due to hardware restrictions

+++++++++++++++++++++++++++++++++++

"I guess when you get to the server market or back end kinda thing, this stuff matters a whole lot more, but realistically, each side writes for their own back end. the war for back end isn't really between windows and linux, thats a complete re-write, the real benefit for portability for linux is getting rid of expensive sun boxes."

market share for servers is steadily increasing around the world.

Linux is starting to reach the point where it's not going to grab more Unix sales.

+++++++++++++++++++++++++++++++++

It's putting the screws to SUN, who is really just starting to react to it as a threat

+++++++++++++++++++++++++++++++++

Linux is starting to grow around Microsoft by grabbing new customers in different countries rather than letting MS get them.

+++++++++++++++++++++++++++++++++

For every story i hear on slashdot about country X moving to linux to get some advantage or so, there is no accompanying story on the success of the project,. or how long term to insure compatibility they have to keep X% of windows around

Most of the move stories are countries extorting the prices for MS back down to reasonable levels. It's the new negotiating ploy, when your MS licenses come up.

+++++++++++++++++++++++++++++++++

it's also getting a small but significant number of converts from enterprise Windows.

+++++++++++++++++++++++++++++++++

we';ve replaced some windows where it didnt make sense with linux because it's free, but overall there itsn't a terribly high momentum to move over yet. Novell is just getting started, RedHat is turning into MS with thier licensing, and support end of lifes, and IBM is out to sell hardware. As soon as it's not profitable IBM will move to the next thing

++++++++++++++++++++++++++++++++++

Like I said, it's only recently Linux has really started to begin eating into MS strategy.

"I don't own a large corporation, so i don't really care about lock-in, and really wouldn't suggest that anyone i talk with use open office. i know deep down that office 2000 was the last really useful version of office, and everything since then has been fluff, but am realistic, and don't let my want for something to be really good make it good in my mind, like alot of folks do with open office"

I agree OpenOffice isn't perfect and has problems.

however, after a bit of getting used to it, I can still get work done just fine.

++++++++++++++++++++++++++++++

I can do 80 % of what i need to do in wordpad, but i'm not about getting used to stuff, i want bells and whistles too. A GEO metro can be gotten used to, but i don't want one. I don't deny that MSOffice is bloatware, and since it crushed it's competitors, it's stagnated, I guess you can get by, and probably do a majority of stuff in openoffice, but it's not for secretaries to learn at home, or businesses that trade docs with the world

++++++++++++++++++++++++++++++

"I'm not slamming, i guess the whole open source thing means well, and if they really got thier shit together and stpped trying to be windows, at least on the desktop side, they'd really have a chance and offer value, but for folks i'm doing stuff for, they don't care about portability, or crossplatformness, they just want thier requirement met, and met pretty quickly."

right now, MS is copying stuff that is was Linux or OSS first.

XAML = gussied up and incompatible version of Mozilla's XUL, done much earlier.

+++++++++++++++++++++++++++++++

IF a XUL falls in the forest and no one uses it, does it count. I can't comment on how, or what XAML is going to be because outside a PDC beta, it's not out yet, time will tell if that takes off, or becomes the next active desktop, vbscripting mess

+++++++++++++++++++++++++++++++

the basics of the advanced searches MS wants to do with Longhorn were already starting to be implimented by a project for the GNOME system when they announced it.

+++++++++++++++++++++

And there were probably a mess of other startups with something similar, for free or pay, back when also.

+++++++++++++++++++++

MS has never been good at innovation.

+++++++++++++++++++++

I second that

+++++++++++++++++++++

Linux and OSS are now most colleges' first choice for research projects.

+++++++++++++++++++++

MS has a prescence at colleges though, because college kids get deals on stuff like the MDSN ands such

+++++++++++++++++++++

The crack about OSS stuff merely being a knockoff isn't true anymore, if it ever was.

+++++++++++++++++++++

knockoff and trying to beat MS at it's own game are a little different. The Slashdot Linux crowd are the ones mad about openoffice and the desktop trying too much to beat windows at it's own game, rather than innovate and change the playing field.

++++++++++++++++++++++

Overall, I don't have anything against open source, or the whole linux thing, We use it at work where it makes sense, but my gig is windows, not because i'm a dumbass, or because i drank the MS koolaid, but because it's where I can capitolize and make the cash right now.

I don't care who did what first, because in the end, a lot of really good guys (XEROX PARC) did really cool stuff first, but never got anything off the ground (LUCENT), or to market.

I go to work, do my thing, MS really isn't that bad, it has some issues, but so does everything in a way.

Damn, where you been Bob?

"your not running a portable c++ app on windows unless it's a console app, or your adding in some extra toolkit or other widget type thing, and then you're creating the mess of the right librarys etc to windows. Windows already has the DLL mess, why introduce more."

because it allows you to do cross-platform efficently?

I have no intention of writing to Windows specifically and locking myself in.... good security products are usually POSIX-first then MS later, if ever.

"no one really uses that yet"

but they will.

"BSD is very cool, but really has minimal marketshare outside a few specialized functions, BSD ABI is a convienence.."

FreeBSD is big on the webserver market, and there's no better firewall right now than a OpenBSD machine with PF.

"where i work handheld = executive tinkertoy there is a very legitimate embedded market out there, but that usually gets very specialized in terms of setup and programs to be run on it due to hardware restrictions"

I agree, but sometimes it makes sense.

"It's putting the screws to SUN, who is really just starting to react to it as a threat"

where have you and Sun been, it's been putting the screws to Sun for many years. This isn't something new.

"For every story i hear on slashdot about country X moving to linux to get some advantage or so, there is no accompanying story on the success of the project,. or how long term to insure compatibility they have to keep X% of windows around"

not if they define it as the standard.

anyway, Slashdot has talked about Munich using VMWare to keep around the old NT 4 stuff they'll be rewriting slowly.

"Most of the move stories are countries extorting the prices for MS back down to reasonable levels. It's the new negotiating ploy, when your MS licenses come up."

some of them are definitely playing pricing games, but a lot aren't.

everyone I know who goes to 3rd-world countries and knows something about computing says that Linux is big over there.

"As soon as it's not profitable IBM will move to the next thing"

IBM is making good money with consulting and hardware sales.

they wouldn't have invested $2 billion into Linux development if they weren't raking in cash hand over fist.

"I can do 80 % of what i need to do in wordpad, but i'm not about getting used to stuff, i want bells and whistles too. A GEO metro can be gotten used to, but i don't want one. I don't deny that MSOffice is bloatware, and since it crushed it's competitors, it's stagnated, I guess you can get by, and probably do a majority of stuff in openoffice, but it's not for secretaries to learn at home, or businesses that trade docs with the world"

supporting OpenOffice get better means I get to quit supporting MS.

the one time cost of learning OpenOffice and converting things to it's file format means I'm not stuck with buying MS Office forever so I can deal with MS's proprietary file formats.

OpenOffice file formats are going to be an ISO standard soon... and OpenOffice just keeps getting better at converting MS to their stuff.

the only really weak point is the OpenOffice spreadsheet, which sucks.

"MS has a prescence at colleges though, because college kids get deals on stuff like the MDSN ands such"

lol, come on man. You haven't been to college lately.

nobody uses MS Windows for their research projects.

they use MS stuff so they can learn C# and get a job doing Windows.

do you know how hard it is to get copies of MS source, and how little you can do with it?

that's a big downside academically.

add in the fact that all the serious CS schools have been pushing Unix for the last 15 years for their students.

a lot of student and professors have a positively irrational hatred of MS, as well.

--

as for the innovation bit, I'm not arguing which will be used more, I'm arguing that MS was not first. You didn't dispute that a bit.

at the rate things are going with Longhorn, the GNOME guys will actually have a fully complete system with even features that MS has dropped to get the system out on time, before Longhorn comes out.

in fact, the system is up and running with limited but usable functionality already.

"We use it at work where it makes sense, but my gig is windows, not because i'm a dumbass, or because i drank the MS koolaid, but because it's where I can capitolize and make the cash right now."

never said you were a dumbass.

you're one of the few Windows-mostly admins I know that actually knows a lot.

Rob, you're right XAML is a ripoff, C# is a ripoff, there are a ton of other ripoffs and then you have the buyouts. At the end of the day, I just don't care. :-)

lol, that's cool seanster.

I just get a little touchy when I think people are assuming there's no innovation in open source.

all:

just to be clear, i totally respect the opensource position, and it makes alot of sense in alot of situations.

I also didn't intend to mean that open source is a rip-off, I was merely citing what seemed to be the position, as far as the slashdot Opensouce/Linux zealots (if you don't read slashdot every day, you really should) go, that certain aspects of opensource, esp, office like products and the OS GUI, seem to be trying too hard to compete with Windows/Office, by mimicing them, and not innovating and changing the game rules totally like they should be (and how Fire-Fox is), and it's a no win situation.

It's coming around, esp in certain products, but overall there is no one gold solution.

Alot of companies seem to totally be on the Opensouce bandwagon right now, but my opinion, and it's just that, is that it will settle down (not die, but settle out of the apple-esque like fight big brother movement it seems to be), and find it's Place, and be just like anything else, a viable choice.

"general portability, cross-platformness, and not being locked-in" = cool, but depends on the intended usage, and need.

open standards != open source in all cases

"we all know what Microsoft's general position on open source is. "

Thier position is that it's not a viable business strategy for them, or to make money for it's stock holders

"While Microsoft tried to be cross platform in the past with Alpha, PPC and MIPS versions of NT, those died out. "

They tried, and no one really seemed to want it. NT 3.1, was actually done on the MIPS first, and ported back to Intel after the fact.

In closing, I totally respect the arguement being made for Open source, and the development strategies being made in the first post, but business sometimes gets in the way, I know it does where I work.

I just get a little touchy when I think people are assuming there's no innovation in open source.

I think open source is all about innovation. That's the thing. You don't have to be a good innovator to make money in a business, you just have to have a good product. MS is a perfect example of a lot of non-innovation. A lot of people think they can't make money because they don't have any original ideas. That's not a real stumbling block. If you can make a better widget and people need a better widget, there you go.