appsnap en Murphy's Law: Open-Source Distribution with WinPackMan's BennyP <!--paging_filter--><p>If you've been following my articles as of late, you'll notice that I've been exploring (obsessing over) the world of Windows-based package managers. It's an interesting concept that the Linux world gets to enjoy to great success--the ability to download and install applications via a single program, much like how you would grab a song on iTunes or an application off its App Store. </p> <p>In <a href="/article/columns/murphys_law_it_time_opensource_app_store">last week's Murphy's Law</a>, I postulated that this exact combination of one-button glam plus a functional, community-driven application repository would be a surefire way to increase open-source awareness amongst average computer users. That, and it would offer power users a better way to grab, install, and manage large bundles of applications on any number of individual or networked PCs. </p> <p>A number of you seemed to agree. That's great. But as we all saw in <a href="/article/features/freeware_files_five_windows_package_managers_reviewed">this week's freeware roundup</a>, the state of the package manager market for the Windows operating system is tragic at best. It's difficult, if not impossible, to find a working package manager that fulfills the three main criteria for usefulness: updated applications, minimal downloading errors, and a halfway-decent GUI. </p> <div style="text-align: center"><img src="/files/u16580/daveblog_winpackman.jpg" width="415" height="366" /></div> <p>What's the holdup in Windows Package Manager development? Are they really that tricky to create and maintain? And why should users ultimately care about these kinds of applications? To get the answers to these tough questions, I turned to <a href="">BennyP</a>--creator and sole maintainer of the WinPackMan package manager application. He's currently caught up in bringing this once-popular piece of software back from the dead, making him an ideal candidate for learning more about what's going on in the trenches of third-party Windows package manager development </p> <h3>What about Windows -- either from a cultural or technological standpoint -- makes it so unfriendly for a unified downloading system?</h3> <p><strong>BennyP:</strong> I think it is both cultural and technological. Linux more or less really requires a package manager -- there are lots of libraries and dependency nightmares that really require one. Windows tends not to have these dependencies for whatever reason -- I can install Firefox on a fresh Windows install without having to install anything else. So partly there's a bit less of a necessity. </p> <p>There are also some technological details that are annoying that have to be overcome -- mostly, the lack of a really good set of standard tools and a powerful scripting language (think BASH and tools like awk and grep, although Windows batch files can be pretty powerful). The Windows registry just adds another layer of complication. There's also the problem of how to deal with software that's already installed -- <a href="">AppSnap</a> seemed to do this well. The package manager would need to bring these preinstalled programs under its control somehow. You don't really see this much in Linux, so it's kinda new territory. But these challenges aren't impossible to overcome. </p> <h3>If you were speaking to a random, average computer user, how would you convince them that they need to use a package manager?</h3> <p><strong>BennyP:</strong> The biggest advantage of a package manager is the ability to keep programs up to date. Finding applications and initial installations are easier with one, of course. But often, after installing something, I tend not to keep it updated, especially things that don't update themselves. </p> <p>I have 20 applications or so on my laptop that should be updated, but they work fine as they are. I could be missing out on new features and security patches, but we (myself included) are lazy and aren't going to check 20 or so websites daily or weekly to see if there's an update. Also, if all the software was free and/or open source, it would help people find what they need without going to commercial or ad-based software. A lot of people don't know about the great software out there like <a href="">Pidgin</a>, or <a href="">GIMP</a>, or <a href="">OpenOffice</a>.</p> <h3>Can you walk me through the process of developing WinPackMan? What have been some of the concerns and challenges in building the software?</h3> <p><strong>BennyP:</strong> I came up with the idea after reinstalling Windows once (this was late 2005, I think). I had been playing with Linux for a while and I wondered if there was something similar for Windows, since I had to reinstall a bazillion programs. Surprisingly, there wasn't (although there is one commercial application called VersionTracker. Being a cheapskate, I haven't tried it). </p> <p>So I started programming, except I'm not a programmer by trade so it was quite a learning experience. The first incarnation was, well, let's forget about that one. The second one (the latest one &quot;available&quot;) was ok--it worked, but the code was still pretty rough. Just this last week I starting redoing much of the code after letting everything distill in my mind for a year or two, so we'll see if in a few weeks/months there can be something even better. I expected many people to develop their own, better ones in the meantime. But as you have seen, it really hasn't happened.</p> <h3>How do you address updates for package manager applications, be they updated URLs or the programs themselves?</h3> <p><strong>BennyP:</strong> If you are familiar with Gentoo Linux, ebuilds are more or less my prototype. There are a set of text files (probably zipped/tarred) that the program downloads. Inside these text files are instructions for the package manager on how to install/uninstall/update it. It might be &quot;download this file and run it with some options&quot;. But it could certainly be more complicated, especially for programs that don't have installers themselves. The harder parts are uninstalling and updating, but they would be handled much the same way. I think that's the easiest, but most flexible way.</p> <h3>What are your thoughts on integrating a community approach into the software by allowing users to submit links to software, or rate software. Is that feasible? Desirable?</h3> <p> <strong>BennyP:</strong> The community approach was actually there for me from the beginning. I'm only one man who does this as a hobby, and keeping a large repository of software up-to-date would need a community, particularly if the software developers themselves helped out in maintaining their own entries. But you kinda have to have something to show them first.</p> <h3>How do you handle security for package managers? What's to stop someone from spoofing or otherwise taking over a download link?</h3> <p><strong>BennyP:</strong> I think it can be made relatively secure with a few ideas. First, each text file mentioned above contains MD5s (and maybe other checksums) for any file downloaded. Once the file is downloaded, it is checked to make sure everything adds up. This helps with security, but also helps make sure the file wasn't corrupted somehow. There's also the integration of a virus scanner--ClamAV would be easy to implement, but you also have the option to automatically run any user-installed virus scanner on everything downloaded. These take away a lot of the risk, but there will always be some.</p> <h3>Final Thoughts: Jerry Springer-style?</h3> <p><strong>BennyP:</strong> A package manager is certainly possible under Windows--I had my working very-alpha very-rough version that actually downloaded and managed my few test packages, but the code was a bit substandard. Looking back, I don't know what I was thinking with some of that. Lately I've been moving towards a much more standard C++ code, as well as modifying some things that weren't implemented well. We'll see if it works the third time around. </p> <h4>Have any freeware programs to recommend? Want to chat open source? <a href="">Hit me up on Twitter</a> for that, as well as updates for the latest saga: &quot;What happens when you drop an iPhone 3G into a large pool of water.&quot; <br /></h4> app store appsnap freeware linux manager murphys law open-source package Columns Web Exclusive Wed, 17 Jun 2009 20:00:31 +0000 David Murphy 6628 at Freeware Files: Five Windows Package Managers Reviewed! <!--paging_filter--><p>There was a ton of great feedback to <a href="/article/columns/murphys_law_it_time_opensource_app_store">my column last week</a>, where I dreamed up (blabbed out loud) the idea of a Windows-based application store for open-source downloads. For the Linux layman, this would be something like a wicked hybrid of iTunes and apt-get. A package manager featuring pretty icons, one-click downloads, descriptions, and community interaction that could help bring the open source world just one step closer to the hearts and minds of average computer users.</p> <p>As it turns out, a number of package managers <em>already exist</em> for the Windows operating system. In theory, they provide you the convenience of being able to hunt down a number of open-source projects, categorized by operation, which you can install without having to pore over the Web for the right file. Beyond that, they also give you a way to learn about newer open source projects that you might not have heard about or seen by your casual browsing on SourceForge. But are these applications as glorious as my dream from last week? Are these applications even worth your time at all?</p> <p>Unlike typical open-source roundups, where I recommend five awesome programs that you. must. have. I'm actually going to give you the pros and cons of a series of five different package managers so you can decide for yourself as to which one would best fit your PC habits. So without further ado, I present: Windows Package Managers.</p> <h2><a href="">WinLibre</a></h2> <div style="text-align: center"><img src="/files/u16580/daveblog_apppack1.jpg" width="415" height="324" /></div> <p><strong>What it does:</strong> It's not DOA, but WinLibre is definitely a package manager that's on its dying legs. But you wouldn't think that by the activity on the Web site. Heck, WinLibre has even become a mentoring organization for this year's big Google &quot;Summer of Code&quot; programming binge. Don't let that fool you, however. WinLibre itself draws from a small list of outdated software (we're talking Firefox 1.0 here), more than half of which return 404 File Not Found errors. Average execution, horrible management -- were there only a way to flag incorrect entries and/or contribute new links to the database without WinLibre calling the shots. Epic fail.</p> <p>(Don't) Download it <a href="">here</a>! </p> <p>&nbsp;</p> <h2><a href="">QWinApt</a></h2> <div style="text-align: center"><img src="/files/u16580/daveblog_apppack2.jpg" /></div> <p><strong>What it does:</strong> This program doesn't work in Windows XP. I'll just get that out of the way first so you don't spend an hour trying to troubleshoot the continual program crashes, as I did. Fire this sucker up in Vista, however, and you'll be treated to a pretty comprehensive list of applications across more than ten categories of use. That's a great start for this (admittedly) beta application. What's not-so-great is the follow-through. For starters, the application still links to older versions of programs--like Gimp version 2.2.17 instead of the more recent 2.6.6 release. Firefox? Still on version That's quite a gap. Secondly, the package manager doesn't even install any programs for you. It creates a huge list of categorical folders in the download directory you select, then dumps the installation executables for whatever programs you choose to download into these folders. That's it. Eh. </p> <p>(Think about) Downloading it <a href="">here</a>!</p> <p>&nbsp;</p> <h2><a href="">AppSnap</a></h2> <div style="text-align: center"><img src="/files/u16580/daveblog_apppack3.jpg" /></div> <p><strong>What it does:</strong> I was so excited for AppSnap. Catchy name? Check. Comprehensive list of applications, more than any other package installer application reviewed thus far? Check. Updated link to main download page for all applications? Check. The program seemed to work. The program seemed to deliver updated links to popular programs. The program... utterly failed to download anything I selected. A total letdown, but AppSnap should be thought of more as a &quot;guide&quot; to new programs you can download rather than an actual downloading utility. While the giant list and official homepage links helped me eventually navigate to the files I wanted, there's no way this program will actually download or install the applications for you. </p> <p>(Get a list of programs when you) Download it <a href="">here</a>!</p> <p>&nbsp;</p> <h2><a href="">GetIt</a></h2> <div style="text-align: center"><img src="/files/u16580/daveblog_apppack4.jpg" width="415" height="293" /></div> <p><strong>What it does:</strong> It's a little kludgy (and was slow as heck for me), but GetIt fulfills the two main criteria for a successful package manager. One: It contains a comprehensive list of open-source and freeware applications for the taking. Two: Selecting a program and clicking &quot;download&quot; actually pulls down a recent version of the application. While I'd love to see more (or any) descriptions about the programs featured in this helpful package manager, at least the darn program works... for the most part. Expect to see 404 &quot;File Not Found&quot; errors littered throughout this application. But hey--at least it gets the right version of Firefox, eh? </p> <p>(Get Firefox when you) Download it <a href="">here</a>! </p> <p>&nbsp;</p> <h2><a href="">Win-Get</a></h2> <div style="text-align: center"><img src="/files/u16580/daveblog_apppack5.jpg" width="415" height="208" /></div> <p><strong>What it does:</strong> It works. This command-line based package manager is like combining the thrill of application installation with the insanity of shooting at a set of targets in the dark. To download and install applications, you append the name of the application in question to the end of a command-line prompt. Is there a comprehensive list you can refer to in regards to the programs that Win-Get can acquire? No. Can you update the program with a catalog of your own, listing the exact URLs for a specific group of applications you want to install? Yes. Do I know how to do that? No. Win-Get is home to powerful functionality, but no ease-of-use whatsoever. </p> <p>(Go back to your DOS days and) Download it <a href="">here</a>!</p> <h2>The Last Word </h2> <p>As the roundup might suggest, there just aren't any foolproof package managers for the Windows operating system nowadays. At least, there aren't any that I could find. If I've completely missed the best package manager out there -- or if you've uncovered the tiniest of rocks and found one that actually works -- please let me know. I'll profile the application next week and you'll get major shout-outs / street-cred / hugs.</p> <p>As always, <a href="">you can follow me on Twitter</a> for the latest in computer geekery and/or app-chat! Recommend free programs of any variety or suggest awesome ideas for future roundups you want me to run. I only say no to truly horrible ideas. See you next week!</p> applications apps appsnap files freeware manager open source package Features Web Exclusive Mon, 15 Jun 2009 20:00:00 +0000 David Murphy 6602 at