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.
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.
I am forced to use W2K for my job. Having Cygwin installed gives me almost a complete *NIX environment (Openssh, Bash, Perl, Python, Postgres, Xfree, etc) that runs seamlessly in a Win32 system. It is completely awesome.
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...
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.
Thanks for stereotyping Open Source software developers. Unfortunately you are wrong. Many people who become involved in Open Source software do so because they want to share software with people and not because Micro$oft sux0rs. Simply because most of the posts on Slashdot typically mindlessly bash Microsoft and call it the Great Satan doesn't mean that people developing software that they want to benefit users of software will divorce themselves from the Windows platform.
What makes you think that Open Source development is restricted to users of a certain platform? Open Source Developer != Linux user even though a lot of them are.
Apache and Star Office are exceptions, because they want to become standards and that means being available for the most popular desktop platform.
Exceptions, huh? How about
I 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.
I deal daily with a nontrivial program coded directly to the windows API (no MFC or anything of the sort). It runs across several flavors of Windows (98, ME, 2000) though being developed on 98 and never targetted to 2000. Additionally, it was developed without MS tools using an open source (though not Free) compiler.
Bleh!
Here are just a few of the tools that are considered traditionally in UNIX/Linux/BSD territory that are available for Win32. In all actuality, there's enough out there to get as much of Linux running on Win32 as Win32 running under WINE.
/ ruby-install.html
t ml
i ls.html
s .html
XFree86: http://sources.redhat.com/cygwin/xfree/
KDE: http://kde-cygwin.sourceforge.net/
GTK/PHP/Libglade: http://gtk.php.net/download.php
Apache: http://www.apache.org
PHP: http://www.php.net
PHPTriad: http://www.phpgeek.com
Perl: http://www.activestate.com
Ruby: http://www.pragmaticprogrammer.com/ruby/downloads
Python: http://www.python.org/download/download_windows.h
TCL/TK: http://www.pconline.com/%7Eerc/tclwin.htm
MySQL: http://www.mysql.com
MySQL ODBC: http://www.mysql.com/downloads/api-myodbc.html
PostgreSQL: Included in cygwin (only works on NT)
ATT's U/WIN* Unix for Windows: http://www.research.att.com/sw/tools/uwin/
Cygwin: http://sourceware.cygnus.com/cygwin/
DJGPP: http://www.delorie.com/djgpp/
Native UNIX command-line binaries: http://www.wzw.tu-muenchen.de/~syring/win32/UnxUt
vi: http://www.cs.vu.nl/~tmgil/vi.html
Emacs: http://www.cs.washington.edu/homes/voelker/ntemac
OpenOffice: http://www.openoffice.org
Mozilla: http://www.mozilla.org
GIMP: http://user.sgic.fi/~tml/gimp/win32/
List of GNU software for Windows: http://www.gnusoftware.com/
And so on . . .
There's a list over at DMOZ.org of a lot of this.
The Glass is Too Big: My Take on Things
HOWEVER, almost every attempt I've made to move to Linux or open-source software on the workstation front has been met with absolute failure. The only real open-source program we use on a regular basis on the workstation side is PuTTY, really. Every time I tried moving a user to Linux as their OS, for example, or switching them from MS Office to Star/Open Office, they end up complaining loudly that it's too different, and their boss ends up making me switch them back to what they normally use. They're extremely resistant to change; they may be willing to try something brand new, but not switch to something that's different and replacing what they've used before.
So, that's where it stands at my company... we've done the switch to open-source, but only as much as I can switch without the users noticing the real difference. Otherwise, I can't get them to try something different. This is the main problem we face in getting the OSS alternatives in, IMHO... not the MS monopoly enforced by their strongarm tactics, but end-users too unwilling to use something else.
Just my $.02...
In short it would cost HP lots to give away something unusable and likely not worth fixing up.
I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
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...