Open Source Software in a Windows Environment?
brennan73 asks: "Like many people, I work in a Windows NT/2000 shop that has absolutely resisted bringing *nixes into our environment. Everyone has their reasons - my boss has resisted because it would be more difficult and expensive to find a replacement admin if I leave, since said replacement would need to be able to administer both Windows and *nix boxes, which I can understand. But I'm still curious...has anyone out there replaced major pieces of Microsoft software with open source equivalents in a medium-to-large business environment, while still running on the Windows platform?"
"Like many people in such shops, I've just about had it with IIS's security problems. I'm also highly unimpressed with Microsoft's new licensing schemes. In other words, between security and money concerns, I can see good reasons for businesses to look for alternatives to Microsoft's standard offerings, for apps and utilities if OSes are ruled out by management.
So, I'm thinking of replacing IIS and Office with Apache and StarOffice for Windows, and I'm open to other examples on both servers and the desktop. Why did you switch? How painful was it for both you and the users? Any experiences that anyone could relate, even failed experiments, would be great."
There is little open source software for windows, because authors of open source software do not want to support microsoft.
Apache and Star Office are exceptions, because they want to become standards and that means being available for the most popular desktop platform.
IMO Open source software is usually harder to use for the average microsheep. People like GUIs are are willing to pay for them. It seems that that is what the linux world is lacking at the moment.
Functionality is not always more important that ease of use, at least that's how most users think.
- PS. This is what part of the alphabet would look like if Q and R where eliminated.
I work for one of the major phone companies. After the recommendation to move off IIS came out, the management started a project to do just that. Phone companies tend to like and trust Unix, since that's where unix was invented. With the recent virus', worms and trojans, microsoft has really damaged their reputation with CIO and CTO's. High level executives don't like it when they look bad, especially when there are good alternatives. Most of the support, admin people I know have been negative about the new licensing. If they don't change it, Microsoft will hurt themselves.
Well...
We just completed a StarOffice 5.2 rollout.
This was in direct response to some very threatening letters we received from the BSAA (Business Software Association of Australia). In hindsight, it was just a scare-campaign to fool us into buying more software - and it half worked. We bought Win2000 licenses for MOST PCs. And we bought Office XP for those who absolutely needed our legacy VB code in Excel. We use Access (developer) to create and distribute our database front-ends - the developer version lets you distibute an Access 'viewer' type package without having a license for Access.
The most interesting change for us though was StarOffice - about 85% of our staff who were using Office 97 are now using it, and we have 2 people trialling StarOffice 6-beta.
Also, I recently bought Borland's Kylix (www.borland.com/kylix). It's Delphi for Linux (Rapid Application Development, for those who don't know). I am half-way through creating our first Kylix-based database front-end (I'm presently testing it out at home, talking to M$ $QL Server on Win2k running under VMWare!!! Ha!). We are about 6 weeks away from our first Linux box on the desktop. It'll be running Netscape 6.1 (it has a spell checker for email - what can I say?), StarOffice 6-beta, and my Kylix-based database front-end. Oh - by the way - Kylix is available for FREE download if you only create open-source projects with it (I bought the Desktop Developer anyway...).
If all goes according to plan, I will start on the (very) long task of rebuilding our database front-ends under Kylix, but as I said - it will take time... I estimate that in 5 years (and my boss backs me up on this) we will be running a fully Linux-based office, and the only commercial app we'll be using will be Kylix.
We're been quietly replacing several NT file and print servers with a Redhat 7.1/Samba solution.
Managers are beginning to discuss replacing all the publicly available web servers with Apache (currently IIS).
We are deploying two new web servers in November, and both will run Redhat/Apache.
Myself and others are testing the StarOffice beta, on Linux as well as NT.
There's beginning to be a discussion about how to move our Visual Basic applications over to something that M$ can't orphan.
The big push for 'Active Directory' seems to have died,
The Novell guys are talking about Novell/Linux on the same box, but I'm ignorant of the details...
If you are bored with the look&feel of the windows shell/desktop/taskbar you could replace it with i.e. litestep or some other shell replacement. check this nice site for a list of shells and other related stuff & news about the subject.
Don't think it's something you would deploy company-wide, but with a good theme it sure would impress your co-workers and it's also great for *nix people that are familiar with i.e afterstep, windowmaker and the like.. Last time I checked lots of the shell replacements (if not all) are open source in some form or other..
- No tears, please! It's a waste of good suffering!
I've done it. At work, we had need of a web server for our team, but the Powers That Be didn't want to make part of the Intranet available to us mere peons. I downloaded and installed Apache for Win32 on my NT 4.0 box and had it up and running in about 15 minutes (10 minutes spent reading the manual). It runs quite happily on my NT box serving my team.
The next thing we needed was a SQL server for our bug tracking database. Our database was originally a MS-Access 97 application. The shared datastores was an Access MDB on an NT file server supporting a team located at two different sites. We discovered the hard way that Access was not designed for network operation :-)
We couldn't get a license for Microsoft SQL server from Management, so I downloaded MySQL for Win32 and installed it on my NT box. I also downloaded the MySQLODBC driver and several MySQL tools (e.g., the Access to MySQL server migration utility). Within a day, we had created and deployed our bug database as SQL server based MS Access application. Yes, MS Access app connected to a MySQL backend. No problem.
So at work, the NT machine I do my development on runs Apache and MySQL supporting up to 8 users without a problem.
On a bigger scale, the big corporation I work for is a MS shop. For the project we're working on, we insisted on and got UNIX servers (IBM machines running AIX). FastConnect from IBM was screwing up constantly, so we bugged the IT department enough until they installed SAMBA -- we dragged them kicking and screaming into it, I might add. No problems. NT and Win9x workstations connect to and use an IBM AIX as our fileserver.
This happens all the time, guys. Most Win32 ports of Open Source apps have very nice installation packages. Both Apache and MySQL come with automated installs which, frankly, are some of the slickest installers I've ever used. Apache and MySQL require a minimum level of competence to set-up and maintain.
Oh, and how did Management react when they found out about my Apache/MySQL server? Very, very positively. I was commended for my initiative and resourcefulness. The Dept VP said he loved the choices because it cost nothing to the department.
The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
Another way to accommodate demands that you move to a platform that supports Outlook calendaring is to consider (try approaching this option with an open mind) moving to an OS X environment.
You get the (sort of) BSD unix environment to work in, and have the ability to install all the Micro$oft apps (Office, Entourage) and interact with the Windows boxen out on the network just as if you were similarly hobbled with Windows.
And it's all native -- no emulation or VM to reduce performance.
Of course, you'd have to change the hardware, but that's usually the cheapest thing to change, and gets replaced on a regular basis anyway...
As a regular user, you can add a Windows `Send To...' option to your menus which make it available as an editor. Also, when you open the File Types menu, if you choose the Advanced options for a TXT text document and change the program used by the `open' action to gvim, you can make it the default text editor.
If you are really lucky and have registry access, you can make it into the default source-code viewer for IE.
Not having to look at Notepad has made me a much happier (albeit still reluctant :) Windows user.
CJW
That's an excellent question: People who like (or have to use) Windows can find open-source replacements for most of the closed source apps they run. In fact, that's a nice way to fade a Windows house to a Linux/Open-Source house: Changing the operating system and consequently all the applications is way too drastic for most houses. Cross-platform open-source software are both cost-effective AND non-MS (which means you have a choice).
.NET stuff later).
/Office XP box (a 'hasn't crashed,ever' combination)... You might want to try out GIMP for Win if you're into that kind of stuff, or Mozilla as a replacement of IE (can't think of a reason to do that, though).
One of the downsides is that for some of the applications, you really have to adapt the Unix Way Of Thought & Work (and realise that not everything reads it's config from the registry). That's not really a downside, but it's one of the reasons people are afraid to jump to Linux in the first place! Another downside is that GUI open-source software have a way of looking,well, unfinished, as opposed to the exoterically polished MS software.
Now, let's see... IIS to Apache shouldn't be too painful, unless you have an site based on MS technology (or plan to use
MS Office to StarOffice... Well, I don't like StarOffice and I love MS Office but I guess this is a matter of taste. Get rid of Outlook though if you don't use Exchange Server (question: does an open-source Exchange Server-compatible alternative exist?) . If it's pre-2002 version (which at least blocks any executable attachments), it's going to cost you a lot.
Personally, I also use GCC and the command line tools on my Windows XP
There is no such thing as 'world peace'.
We are a small company in South Africa, and we run vritually everything on Open Source software. on the server side we have:
.....
... we will see about that soon ...
3 Linux Mandrake boxes:
1)Samba PDC and main fileserver (also NFS), openldap server,
2)Postfix/UW-IMAP/amavis virus scanning mail server, apache web and webmail, Star Schedule Calendar server.
3)Samba/CUPS printserver, intranet server
The only proprietary software here is the Star Schedule server, which we are looking at replacing.
1 Windows 2000 Server/MSSQL 7 server/IIS
This box is for the ERP/Project Management software we use (don't blame me, management didn't even consult IT).
On the desktops we run mostly Windows 2000 or Windows NT with Star Office, GIMP, and Netscape. We will be deploying Mozilla and OpenOffice to replace Netscape and StarOffice.
Openldap provides a convenient shared address book, and allows use to use linux on the desktops as conveniently as Windows boxes joined to the domain. Password authentication on linux is done with pam_smb, account info by ldap -> one account and one password. Star Schedule povides calendaring, although it is not that robust. We migth migrate to phpgroupware
There are a few people who have MS Office (since they claim they can't send (Star|Open)Office to other companies
Other proprietary software we use is Pro/Engineer and Wave (from Ricardo). Pro/E does not run on linux (yet), but Wave does.
Hmm, I guess the staroffice outdid themselves to clone MS office b/c I get similar functionality when I have used MS office. I'm sure that they fixed all these troubles, but I really don't like to pay so much money and suffer for so many years as a beta tester so I dumped office.
Staroffice has worked fine during the few times I've needed an office suite, so you can say, I'm at least $100 richer, and I don't lack any functionality. Enjoy.
Fred
Our facility was recently sold to a company that uses Lotus Notes/Domino. We had been running M$ Outlook/Exchange. I used to complain bitterly about Outlook/Exchange (and I was the e-mail admin), but after fighting with Notes/Domoino for 3 months, I'd give my left nut to back to Outlook/Exchange. Notes/Domino supports even less standards than M$ (Can you say "non-RFC822 compliant"). At least running Exchange I could use a POP3 client to get my mail. I don't even have that choice with Domino. It's a memory hog, slow, and bug ridden.
Plus the fact that the corporation uses it's "database" capability (Think Filemaker Pro v 2.0-3.0) for just about everything; which forces you to use the Notes client. A programmer I work with has pretty much either implemented or found Apache/PHP/MySQL equivalent solutions for all of them that are faster, more reliable, and easier to support.
I aggree 100% with Peter Gutman's assesment:
Notes Spotting"Choose no life, Choose Lotus Notes"
-NeilI think a lot of folks are doing stuff like this. We did it a little at a time. MOST of our users haven't noticed anything different except that things tend to run a little better. The firewalls/proxy servers went to a Linux box three years ago. Web based access to corporate mail moved to an open source Linux solution last year. Hardly anyone realizes that the last three years of corporate transactional data (we're a financial institution) now resides on a sub $1,000 Samba box. Can't even remember when I moved that....certainly over two years ago.
/proxies. Outlook is history..replaced by Pegasus Mail (I know.....not open source or Linux friendly but works great) which will soon host a Python scripting engine for all the stuff that VB does in Outlook.
This year, we bought some insurance agencies to add to our holdings. BEFORE we bought them they were MS everything....from the mice up. Seems that most of the insurance business likes Redmond a lot. AFTER we bought them, they have Win2K on the desk, Samba as a server, and Linux based firewalls
The stuff runs great. The people don't know the difference...they just say that they're glad they all have a new "computer system". A few suits have trouble because they only know "names" like Exchange or Outlook. They also expect to see a calendar in their e-mail software....although they can't explain why it belongs there. I always have handy, an expense report on what the stuff cost us and a quote from CDW on what it WOULD have cost us using NT Server/Proxy/Exchange, etc. I also remind them that their way would probably cost us more IT staff too.
None of this was hard to do. None of this was technically difficult. None of this hurt our business.
All of this worked. All of this helped our people. All of this saved us money. All of this was the right thing to do.
Pick a project....think it out...do some research and get it done. You'll be happy you did and your company will be better for it. I did it in a very conservative financial institution that HATES to take risk. And now I work for a better company because of that decision.
You don't need Exchange to share calendars with outlook, exchange just makes it easier. It can be done without exchange but requires alot of manual config. Each user can set there outlook to have there calendar sent to a common dir on a server either via ftp,or a samba file share. Then there is a place in contacts, that allows you to specify where a persons calendar resides.
Its a pain to get it started, but once you do, they never know. Does the same thing as the exchange server.
Using SSL IMAP got us away from exchange. I still
don't have a calendaring solution (which hurts
really!). Outlook will do IMAP, but with a fairly
large (microsoft admits) bug in the implementation
where a thread collision occurs between the
automatic polling of the server for updates and
the manual send-recieve button.. it's a lockup.
Anyway, my smtp/imap server has 400 days uptime
on it now.
A very good way to assuage the fears that you
are irreplacable (you probably are!) is to make
your own RPMS. get source rpms for the stuff
you use, modify the conf files included, rebuild.
I keep a repoisotory of them which are basically
my modifications against RH62 (older servers) or
rh71 (newer ones). This makes disaster recovery
also very easy (which you should have anyway! the
admin leaving the company is also a disaster!).
"Obviously this guy doesn't know what he is talking about."
,especially in regard to client apps.
...
Not true
BTW. Interesting how I can run 6 year old Win32 binaries on my Win2000 box while I am unable to run 2 years old Linux binary on the latest RH.
"That makes the cost of cross-platform development extremely high, since the abstraction layers are so different."
What the hell are you talking about ?
Xlib offers basic drawing operations and so does GDI. Period.
The only difference is that Win32 comes with bunch of built-in widgets ( written using the very same GDI and NOT some "hidden" API) which are equivalent of GDK and parts of Qt.
"They can't migrate from Windows API to another unless extremely thick abstraction layers are used."
Yeah, can you migrate from mainframe to another OS easily ?
Hell, what we have here is another toy OS, this time from IBM!
"On a related note, this is why I continue to insist that Windows is a toy OS."
Do so, if it makes you happy. Most people will simply bypass you on their way to ahead
Back at an old employer (name removed to protect the privacy of their management
Instead of purchasing additional (expensive) licenses from MS, we decided to give mySQL a try. We used it for things like log processing and analysis, telcom system call modelling, and other fun stuff. It worked *beautifully*, and they're still using it fairly heavily today (according to an old-coworker who's still there now).
I think a great place to start is with information handling and processing, stuff that databases and scripting languages (i.e. Perl, PHP) are designed to do. There's a lot of MS shops out there starting to experiment with using these solutions in lieu of MS-based alternatives (such as ASP or customer C++/VB apps and MS databases). My advice is to start there and move forward
2. never ever tell your boss. keep a dinky win box around so it looks like you use windows. use it to get into your unix boxes.
"i was saying gnu-rd"
When IT people at one of my clients, a company with about 200 employees, were saying that they had heard bad things about Microsoft's Proxy Server 2.0, I reinforced that and explained to them how bad Windows is in general when it comes to Internet-related stuff, and why Unix-based systems are better. I suggested that they could use a Linux box with Squid as their proxy server, and that since it would be a dedicated-function box, it wouldn't have large maintenance overhead. I explained that Squid is used by large service providers and can handle big loads.
They went for it, and have been running Squid on Red Hat for some time now. Pressing my advantage, I suggested that they could switch their use of SourceSafe (version control) to CVS and getting much snappier operation across the Internet when developers are working from home. I demonstrated this to them, and they were convinced. They now run CVS for version control, too, using the WinCVS client.
The same company tried out Jitterbug for bug tracking. This wasn't as successful. There's now some talk of trying out Bugzilla. But I no longer have to evangelize this stuff, they're sold. They've received the threatening license letters from Microsoft, and have even gotten to the point of considering replacing Microsoft Exchange with an IMAP server. The only thing holding them back is good centralized calendar software. Anyone know anything good? It doesn't have to be free.
Another area where this company has moved in a more open direction is switching from Microsoft's ASP for web apps, to Java-based JSP. By now being thoroughly sold on the benefits of Free Software and Open Source (since they have developers and even admins who have been frustrated by Microsoft's lack of openness), they picked the Resin application server. Their intranet and extranet applications are now capable of running on either Linux or NT.
When their Windows-oriented vendor came to them with a $18,000 proposal for a Checkpoint Firewall-1 firewall, the IT manager said no thanks, we're thinking of setting up a firewall on one of our Linux boxes. This vendor was one of those who had been complaining of problems with Microsoft Proxy Server, and guess what, they're now showing interest in Linux also.
This company may even switch their file server. There's been some talk of this, due to Microsoft's per-seat license costs for accessing a Windows file server. It probably won't happen soon, but I have the feeling that it'll happen in the end.
Switching the desktops, though, is not considered a serious option, although it's been discussed more than once.
The important thing is to get a foot in the door. Figure out a reason to install an Open Source package - even if it's Apache on NT. Once people start having some familiarity and comfort with the idea of free/open source software, the possibilities become obvious, and it sells itself.
Since then I've used a ton of Open Source and Free software on NT. I've played around with Sendmail, BIND (as a cacheing only local nameserver), MySQL, Ruby, Python, XFree86 (with windowmaker, which confused the hell out of my local Linux zealot friend ;) even tcl... I use emacs and the cygwin bash + other apps ports (ssh, GPG, all the time. It all absolutely rocks, and best of all it's got me familiar enough with the basics of developing on and using a *nix system that I've been able to swap onto Linux, Solaris and openBSD with a minimal speedbump, allowing me to concentrate on learning the interesting bits of Unixland (system stuff, IP tables, NAT, IDS and a ton of security software that still isn't available on NT. Although (shhh!) nmap now compiles out of the box... netcat runs,too...)
In short, if you're on windows but interested in checking out Freedom, these ports make a nice comfy way to get familiar with the other universe. Most of it is also far superior (more secure, more stable, more flexible and powerful) than the point-and-click Microsoft provided tools.
The one thing I need now is the strength to have another bash at getting Mutt or Pine working. I love mozilla and use mail & news for everything now, but I'd still like the cheap geek thrills of a non-gui scriptable CLI mail client. Then I can get cron mailing me home-rolled tripwire-like security checks daily...
When I used to do NT admin work, I found Perl to be pretty handy. Unix admins have been using Perl and other scripting languages to automate repetative tasks for years. NT admins by and large don't seem to be very familier with the concept, but it is doable.
GNU Cfengine is another great sysadmin tool that's also has an NT version. If you administer a lot of systems (Unix or NT) this a fantastic tool to have. Your fellow NT admins will be completely befuddled trying to figure you how you installed that latest IIS patch to 50 machines before lunch!
Firewalls are another good place to start introducing some free software. I frigging LOVE OpenBSD with IPF (or the new PF) packet filter as a firewall.
Start will small changes like these. They won't require any user training or major changes for your end user. They also won't require much buy in from management. And they'll make it easier to put more free software into place later. When the inevitable objections to a larger, more visible free software related project comes up, you can confidently inform the objector that the company has been using free software for years!
Actually it is a very poor HAL, in that it still makes or rather forces too many assumptions about the underlying hardware. Like 32 bits (NT for Alpha didn't run 64 bit), like little endianess (NT has never been successfully ported to and shipped on a big endian processor architecture -- NT on PPC, Sparc and MIPS was stillborn).
That's not true. NT on PPC and MIPS didn't sell well, but it certainly worked fine.
One of the original design goals of NT was portability; infact NT was first written for MIPS, and then was ported to x86. Just about all of the NT kernel is written in C (for portability). It was only the market place which eventually killed off all other ports. NT is design for portability. This is for the most part, recompiling Office/Visual Studio to Win64 was not as painful as it could have been.
you've got to be careful which subset of Win32 and Microsoft's other APIs you are using to write code that works on both 9x/ME and NT/W2K/XP.
That's funny. Just about all application level apps for Win9x work fine on NT. (I can't recall one that didn't work). Games are different cause many check the OS version for 9x (XP can get around this). NT also has full DirectX support like 9x now.
I used to run 9x (ages ago), now I run NT, and I never have ANY problem running any software version less than three years old on NT. I can't same the same for running linux software on different distributions.