mahiwaga

I'm not really all that mysterious

versioning

The Old New Thing discusses the different macros you have to set in order to ensure library compatibility in Windows.

It seems like a complicated mess, but it’s not like Linux and Mac OS X are really all that better. Except for one factor: most of the time, you actually have the source code.

While Windows has multiple flavors, some of which can share code, and some of which can’t, Linux has at least a hundred different distributions, all of them running different kernels with different versions of the C libraries and with different versions of different toolkits (GTK+ vs Qt, for example) This makes it pretty dicey to try and mix and match binaries from different distros.

Since Mac OS X comes solely from Apple, you would think that you wouldn’t have to deal with such messes, but the fact is if you want to use the latest open source tools, you end up screwing around with various distribution mechanisms: do you just compile from source yourself and link against the system defaults, do you install Fink, or do you install MacPorts (neé Darwinports)?

But the fact that you have the source means that you can always have the latest version of the latest app in the open source world. Compile it yourself (or with the help of Fink or MacPorts on Mac OS X, or whatever mechanism you use on your flavor of Linux) and it will tell you which libraries you may need to upgrade (although this path can still lead you to dependency hell) And if you don’t have the latest version of Gtk+ or Qt or GNOME or KDE or Perl or Ruby that the app needs, you can compile that too.

Yes, compiling is a lot more time consuming than simply clicking on an installer, but you’ll always know that the app your running is compatible with your system and it’s own idiosyncracies.

And the maintainer only has to maintain a single code base with the minimum of versioning macros. You can compile exactly the same app on the hundred different versions of Linux, or you can compile it on Mac OS X, or any flavor of BSD, or even Solaris, AIX, or HP-UX. Hell, you can even compile it on Windows if you use Cygwin.

Now I realize that most end-users couldn’t give a damn about this, but I still think having access to the source code is a big deal.

posted by Author's profile picture mahiwaga

blogger's code of conduct continued

Tim O’Reilly replies to his critics regarding his proposed blogger’s code of conduct.

I agree with the gist of his message, which is that civility is important. Without it, there can be no real discussions. Once we get dragged down by the name-calling, the baseless accusations, the flaming, the trolling, and the invocation of Nazism, it’s over. Hence, Godwin’s Law.

Note that Godwin’s Law came into existence on Usenet. In many ways, network news was the precursor of blogging, and they figured out a lot of these issues way back when. There’s no need to reinvent the wheel.

And again, there really are potential legal liabilities with hosting a blog. Just consider slander and libel. You can say all you like about people owning what they wrote, but I’ve said it before, and I’ll say it again: the fact that the blogger has the power to delete comments leads inexorably to the fact that the blogger has a duty to moderate his/her site. Sure, you can refuse to delete comments, no matter how offensive. But we must recognize that the blogger chooses to allow this. If something inflammatory and insulting is on your site, whether or not you wrote it, you still have a hand at allowing it to be visible.

You simply cannot abdicate your responsibility as moderator.

posted by Author's profile picture mahiwaga