A recent thread about Nightly Builds of WordPress has me kind of foaming (darn you, Doug!), and rather than take it out on unsuspecting members of the list (and then get flamed back for it), I figured I would write about it here, where it's safe, and I can delete comments that contradict me. (Did I just say that?)
Yes. There are dozens of open source applications that will perform a specific function instead of the commercial application that is well-known for it. Indeed, there are many replacements for WinZip (the software in question in the linked thread) that are free, and some are even open source. But there are also dozens of closed source applications that work just as well.
People frequently ask, "Why are you supporting that commercial application, when there is this open-source application that works just as well?" Well, there are a few good answers to that, the first, and possibly not the most obvious, is -- Why not?There is this weird brand - like an adulterous "A" - that open source fans seem to place on closed source applications and the people who use them, but I don't really see a lot of bad things about using those closed applications.
There are many applications that I just like. I like them. I like the software; how it works, what it does. I like the company that produced it. I like the name brand and the idea that there is someone I can call or email for support because I paid them for it as part of my purchase. I know that the company is going to be there and it's not just a group of kids writing code on the weekends.
Moreover, many times the open source software simply isn't as good as its commercial counterpart. Take Audacity, for instance. Audacity is cool, but Soundforge kicks its shiny metal behind. Sure, I'll use Audacity in a pinch, but given the opportunity to choose which one I want, I'll pick the better software because it's better. Being open source doesn't make software better.
Really, let's face it. Open Office is darn cool. I use it at work because, well, I don't need an office suite very often and so why pay for it? But Open Office is not Microsoft Office. At home, I use Microsoft Office. It's better software.
On the whole, most open source software is pure crap. Don't allow your mind to filter down the list of available open source to only the names of those products you can't live without. For every Firefox-like gem there are a hundred projects that could use a quick trip to the bit-recycler.
Don't get me wrong, I like the idea of open source. I don't feel like my use of open source software really benefits the projects, though. Perhaps in some convoluted way it does, but a typical convincer I would hear would be, "Use open source and put those commercial software companies on notice." Why would I do that? I like some of those companies.
WinZip might not be one of those companies that I would take extra effort to keep around. But their product is solid. Replacing it with 7-zip when you have a WinZip license is madness. 7-zip isn't even all that good. (You want to talk about bad UI? Look at 7-zip.)
The truth is, I don't even use WinZip, and my commercial zip application can handle tgz files just fine. It's simply bothersome to me to know that the nightly build archives for WordPress must be in a generally inconvenient format for most Windows users. (And even that doesn't affect me directly, since I get my copy from Subversion using the GPL Tortoise SVN.)
It strikes me as funny that .tar.gz files are as difficult to open on Windows as the Microsoft Office format is to open on Linux. I know that this is not the case, but it has the odor of something built as a barrier for entry by outsiders, and sounds like something Linux folks would complain about to high heaven if they were confronted with it.
Remember, Linux zealots - The Christian church planned Christmas on December 25th not only because it was close to their estimate of the day of Christ's birth, but also because it was on the same day as a pagan festival. Making your operating system enough like what is in the mainstream is a good thing if you want converts. Only after you are firmly seated in the minds of the public can you denounce these "pagan rituals".
Convincing Windows users that Linux can create zip files just as easily as Windows is good. Promoting a format that they're not familiar with and have difficulty opening exhibits an arcane nature that will not help you spread your work.
Nice, thoughtful essay, Owen.
To play devil's advocate, though, I think it's important to remember that tar has a rather longer history than zip. People using GNU/Linux are often in the company of die-hard old-school UNIX users (on mailing lists, in LUGs, etc), and the tar format is far more standard in those circles. So, people adopting GNU/Linux oftentimes do as the Romans, because they're in Rome, and that's what they're taught by the people to whom they look for support. It then becomes something of a habit, and it can be hard to remember to switch back to zip for the Windows users.
I personally find making gzipped tarballs easier, for no particularly good reason, than making zip files.
I understand that there is a place for tar and gz in the world. It works well for the folks who are already ensconced in that technology. But if you want your work to be adopted by people who are not in your tight circle, then note that the fact that it's the tool of choice for your group is irrelevant to the masses of people who use something else.
By and by, it's still one line to create a zip archive, right?
Owen:
I think my messages overall intentions may have been a bit, well, >misconstrued>.
I wasn't advocating people dump a valid WinZip license in favor of 7-zip; rather, I was offering an alternative that handles .tar.gz with aplomb. Additionally, the number of people that I've know that have actually paid for a WinZip license are easily countable on one finger. Given that Windows now handles .zip files in Explorer and that neither Explorer nor WinZip handle standard UNIX compression formats (.gz, .bz2 and .Z), I generally advocate that anyone interested in web development, blogging or any app that will have any interactions with UNIX systems install 7-zip (and Putty, as well, but that's another story).
I'm no ESR/RMS zealot. I definitely see value in closed source programs (where would I get my games, otherwise?). However, as in your Audacity/Soundforge example, I also have moral qualms. I know very few people who have paid for SF - most of the copies I've seen on friends' and colleagues' machines have been pirated. Given a choice between using a pirated copy of Photoshop or Soundforge and the Gimp or Audacity, I'll happily opt for the (some would say inferior) Open Source options.
Now,Owen, you've got to admit that there are situations where the opposite applies as well - WordPress vs. Movable Type, for instance. I'd say that WP whips MT, and Six Apart's licensing/pricing provides only further disincentive for me to use their product.
*shrug* There's no accounting for taste, I guess. *grin*
One line? Most linux distributions have gnu tar, which can gzip for you:
# tar cfpz file.tgz files
Or if you have a stone-age OS (or Solaris without any tools):
# tar cfp - files | gzip -c > file.tgz
It isn't rocket science, any more than using WinZip is. And it isn't intuitive, any more than WinZip is (I can never get that thing to do anything more complicated than extract files, and my XP explorer does _that_ a lot more simply.)
But back to your point: I agree that one should use the best tool for the job, and if you can afford to and are willing to pay for a tool you consider better, then there is nothing wrong with that.
Well, regardless of your message's intentions, this is something that has been bothering me generally for some time.
Your reasoning for advocacy of 7-zip is what I find really puzzling. Sure, it will be easier on common folk if they have tools that work well with the file formats provided by open source developers. But like any commercial product, an open source product would strive for more adoption, and if doing so means providing files in a format that most people can open, then why are they distributing only as tar?
I don't know why recommending commercial software would elicit moral qualms. If I want to recommend multi-track audio software, I'm going to point at SoundForge, not Audacity. If people choose not to pay for it, does that make my recommendation immoral?
Being a licensed owner of WinZip and SoundForge, I don't have any problems saying, "These are better than their open source counterparts." If an open source solution comes along that's better, like WordPress over Movable Type, I'll make that recommendation, too.
So I guess my real qualm is that suggesting 7-zip explicitly because it is open source strikes me differently than suggesting 7-zip because it's free or somehow otherwise better than its commercial counterpart.
Well, my reasoning, such as it was, was to suggest an alternative to WinZip that Sean could use that actually handles .tar.gz files. Sean was expressing frustration at WZ's inability to do so in a convenient fashion.
The additional commentary was driven by the fact that I've so rarely seen legit copies of WZ in my computer wanderings.
I think one of the recent messages on the list sums up quite nicely why it would make sense that the nightlies aren't provided in .zip: intended audience. The nightlies aren't meant for general consumption; rather, they're intended for power users who, more than likely, know what a .tar.gz is and how to deal with it.
I'm not sure it's such a bad idea to erect a small barrier to entry for using WordPress nightlies. Since they may have unknown bugs and security issues, these builds are really only suited to developer use. Developers are likely to already know the difference between zip and tgz files, and to have a program capable of opening the latter.
I suppose it's neither here nor there, but my archiver of choice is >WinRAR>. It's native >RAR compression algorithm> is much more efficient than zip, and I find it less cluttered and more user-friendly than WinZip. I'd recommend it to anyone.
As to the "moral qualms" issue, what I was saying was simply this: SoundForge, Photoshop and the like are >expensive> pieces of software. If someone isn't a dedicated graphic artist or sound engineer, they're not going to see the value in laying out that money. If they're just looking to cut together their most recent podcast (and even that's advanced for mom n' pops that lack Steve-o's latest and greatest iLife '06), then there are three options: use a free tool like Audacity, lay out the cash for those pro-level tools (unlikely) or, like most of my semi-computer-savvy friends, hit the warez sites and pull down unlocked versions of SF and PS. Given those choices, I can only recommend to people that they use Audacity with a clear conscience.
Am I making a bit more sense?
Adam:
WinRAR, as a tool, is nice, but I heartily advocate against the use of .rar as a distribution format, particularly for software in the WordPress mold, as most hosting companies will, by default, install tools that handle .gz and .zip files, but unrar is relatively uncommon, meaning that putting your software in .rars is a barrier to entry for a lot of people.
Which, I guess, might just be the central issue that kicked that whole email thread off in the first place, come to think of it...
Owen: by default, the `zip` command on (my) GNU/Linux systems does not embed directory information. I need to specifically tell it to do that.
Compare the following:
Of course the example isn't completely fair: I pass command-line options to `tar`, so it really shouldn't be a problem to pass them to `zip`, too. Being the lazy, and resistant to change, GNU/Linux user that I am, `tar zcvf ...` is deeply ingrained into my workflow. `zip -r ...` is not.
Moreover, gzipped tarballs offer better compression. When distributing files over the internet, ought not file size play into the equation, at least some?
I'll note that all of my plugins are released as zip files these days, and have been for quite some time. Originally, I provided both .tar.gz and .zip. See above about being lazy.
@Adam: The barrier for entry to nightlies shouldn't be the technology used to compress them, but an assurance that the nighties are going to be used for good, not evil.
@skippy: I think the primary reason why zip files are larger is because of a redundant structure for storing file/directory data. That's why tools like zipfix work. Plus, the directory structure itself is necessarily compressed when you .tar.gz, which I don't think is the case with zip.
Whether the size reduction benefit of .tar.gz outweighs the ubiquity of end-user tools that are gz-friendly is a different question. I say "NO!" I say that a lot.
I'm quite an open-source zealot, personally I prefer to use the open-source alternative if one is available and it does all that is neccesary to finish the job.
Like you say though, some of the commercial apps are just a darn sight better, Photoshop - GIMP, yeah GIMP works fine but it's up against the behemoth of image editing... I'll take photoshop everytime.
tgz is a great archiving method, I use it daily, a useable windows app for it would be great. I've even taken to using rar on windows rather than zip these days.
I say there is a time and a place for each.
Doug:
Really there are two issues for me. First, the issue of promotion of open source solutions for everything just to promote open source, even if better commercial applications exist. Second, whether nightlies (over which we have no control) should be distributed in .tar.gz, .zip, or both.
I firmly believe that there are still software packages out there that you have to pay for if you want it good. Fear that someone taking my recommendation is going to go steal the software I recommend is not going to dissuade me from recommending the correct tool for the job, and not some half-featured open source knock-off. Often, if I know the budget of a person to whom I'm recommending software, I'll make a budget-appropriate suggestion. Otherwise, I'll recommend what I know is good.
I don't really think you're trying to promote open source for the sake of open source, so I don't think we're at odds, we just have different ways of approaching how we recommend software.
However, as I said in an earlier comment, it is a bad idea to restrict nightlies based on someone's knowledge of extracting files from archives.
Fundamentally, you do not need to know how to extract archives to do anything with WordPress other than access the files for installation. (Release versions are available in zip format, after all.) Knowing how to extract an archive also does not guarantee any inherent knowledge that would be helpful for testing or coding WordPress.
In fact, such a barrier may limit the kinds of users that might be useful to have test WordPress. Willing users who are competent enough to upload files to their servers and provide bug reports are valuable. Using archive types that provide those users with a lower barrier of entry is a good thing.
If you want to prevent casual users from using nightlies, a better barrier would be to allow download of nightlies only by users who are logged into Trac. At least they would know where to file a bug report, then.
Great post. I support FOSS when I can, but sometimes the commercial programs are simply better. And there is a further middle ground: there are quite a few freeware programs that feature decent interfaces, shell integration and handle 7zip/zip/tar/gz/tgz -- such as: Zip Genius http://www.zipgenius.it/, Shell Zip http://www.menonsoft.com/shellzip.html, and QuickZip http://www.quickzip.org/
It's quite refreshing reading the arguments on this post :). But for me, regardless the money bruhaha, I'll choose the better counterpart. I don't give a damn if it's an open-source program or not.
I'll surely choose Photoshop above GIMP because it's better (again, price tag excluded). But I'll choose Firefox above Opera (when they are still paid) not because Firefox is open-source, but because it's just better.
On top of that, If I can choose between Linux or Apple MacOS, I'll choose the second one. Why? Because it just works!
[...] Owen made an thoughtful statement about brand loyalty concerning the ever-popular open source vs. commercial argument. [...]