<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Trausch’s Little Home</title>
	<atom:link href="http://mike.trausch.us/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://mike.trausch.us/blog</link>
	<description>My writing on life, computers, and technology</description>
	<lastBuildDate>Sun, 07 Mar 2010 12:15:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>On small offices and computer configurations</title>
		<link>http://mike.trausch.us/blog/2010/03/07/on-small-offices-and-computer-configurations/</link>
		<comments>http://mike.trausch.us/blog/2010/03/07/on-small-offices-and-computer-configurations/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 12:14:11 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[random thoughts]]></category>
		<category><![CDATA[tips & tricks]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=597</guid>
		<description><![CDATA[So for the past couple of weeks I have been doing work at a client’s place of business. This client—like many other small and medium-sized businesses—uses Windows on all of their desktop systems. They have a couple of server boxes that are running GNU/Linux servers, but they are not running GNU/Linux on the desktop at [...]]]></description>
			<content:encoded><![CDATA[<p>So for the past couple of weeks I have been doing work at a client’s place of business. This client—like many other small and medium-sized businesses—uses Windows on all of their desktop systems. They have a couple of server boxes that are running GNU/Linux servers, but they are not running GNU/Linux on the desktop at this point in time.</p>
<p>So, this is a pretty simple-sounding network, yes? It should be—it is just a handful of computer systems. However, there is a problem—a pretty large one, I think. There is very little in the way of either policy or convention on the network. Some users use their documents directory for storing their documents, others store their documents on their desktop, others somewhere differently altogether on the C drive, others on a network share in a public storage space. There are different versions of software on the various machines, more-or-less updated when someone thinks about it, I think.</p>
<p>This is a perfect scenario which shows why a business network should be centrally managed in some form. Note that I am <em>not</em> saying that each machine should be a bit-for-bit mirror image of the one next to it, though that is certainly a possibility. I think that people should be able to use their own choice of things like email client or Web browser software, because everyone is different. But when you have different client applications fulfilling a role on the individual workstations, you have to take a centralized approach to ensuring that things like the email is all backed up.</p>
<p>Furthermore, if you <em>don’t</em> take a centralized approach to backing up such data, it is <em>very</em> difficult to centralize the network storage. Think about adding a domain controller (that is Windows speak for a central server which handles authentication and authorization, as well as file and printer sharing and things like roaming profiles) to such a network. I expect that with multi-gigabyte mail files, things will be <em>very</em> slow at first—and that likely the only fix for them that is going to be viable in the long term is to centralize more infrastructure.</p>
<p>I am too tired to expand more on my thoughts on what I have learned and where it is heading, but the <em>Reader’s Digest</em> version of the point reads something like this: If you are a small to medium sized business, make sure that you have someone who is competent in both system and network administration, and <em>make sure that they are a part of your business from day one</em>. Like writing software, building up a technical infrastructure without careful thought and design is hazardous and comes with many hidden and unpredictable costs. It is best to head those things off right from the start; to delay only amplifies the cost of fixing the underlying problems and puts oneself in the position where fixing one issue can have a domino-like effect and create more new problems.</p>
<p>For my current situation, I think I am going to have to seriously re-think how this whole setup is done. What I do not yet know is how to quickly and efficiently bring things into shape. A bit of training and education may be required, and certainly the removal of a lot of unnecessarily-granted privileges on the workstations. That, too, should be something caught early-on: do not let every person in a business run with administrator privilege, unless they <em>are</em> an administrator (and even they should only run with administrator privilege when they are actually doing something that requires that privilege). If everyone is an administrator, there is little to no control on how things are done in a network, and it can get messy.</p>
<p>I have a lot more reading to do, as well.</p>
<p>Well, anyway, it is <em>way</em> past my bedtime.  Time for sleep.</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/03/07/on-small-offices-and-computer-configurations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Uniform Driver Interface—why wasn&#8217;t it adopted?</title>
		<link>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/</link>
		<comments>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 23:31:53 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[freedom]]></category>
		<category><![CDATA[random thoughts]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=592</guid>
		<description><![CDATA[Every now and again, I come back to looking at device drivers and driver-writing, and I wonder why there is not some common interface for device drivers. What would the world be like if we could write a device driver for Linux, and be able to use it on FreeBSD without modification? There was a [...]]]></description>
			<content:encoded><![CDATA[<p>Every now and again, I come back to looking at <a href="http://en.wikipedia.org/wiki/Device_driver">device drivers</a> and driver-writing, and I wonder why there is not some common interface for device drivers. What would the world be like if we could write a device driver for Linux, and be able to use it on FreeBSD without modification? There was a project called the <a href="http://www.projectudi.org/">Uniform Driver Interface</a>, which aimed to create a common specification (both <a href="http://en.wikipedia.org/wiki/API">API</a> and <a href="http://en.wikipedia.org/wiki/Application_binary_interface">ABI</a>) for drivers such that they could be used portably between operating systems. In other words, a device manufacturer could create a device (say, a <a href="http://en.wikipedia.org/wiki/SATA">SATA</a> chipset) once, and it could then be used by <a href="http://en.wikipedia.org/wiki/Linux">Linux</a>, <a href="http://en.wikipedia.org/wiki/FreeBSD">FreeBSD</a>, <a href="http://en.wikipedia.org/wiki/NetBSD">NetBSD</a>, <a href="http://en.wikipedia.org/wiki/OpenBSD">OpenBSD</a>, <a href="http://en.wikipedia.org/wiki/Haiku_(operating_system)">Haiku</a>, <a href="http://en.wikipedia.org/wiki/Microsoft_Windows">Windows</a>, <a href="http://en.wikipedia.org/wiki/Mac_OS_X">OS X</a>, or any other <a href="http://en.wikipedia.org/wiki/Operating_system">operating system</a> that chose to implement the UDI specification (or, honestly, <em>any</em> generic, OS-independent driver specification).</p>
<p>The <a href="http://en.wikipedia.org/en/Free_Software_Foundation">Free Software Foundation</a> <a href="http://www.gnu.org/philosophy/udi.html">objected to UDI</a> for various reasons. Mostly, I think, it was because they were afraid that people who are not them would choose to use drivers that were non-free. As I&#8217;ve written about before here, there are people who think that forcing people to use <a href="http://en.wikipedia.org/wiki/Free_software">free software</a> is somehow freedom—and I will not go into it in any great depth here, because I have done that in the past. Suffice it to say that forcing <em>anything</em> is not freedom; it cannot be freedom. So, the Free Software Foundation, I think, was really afraid that they would have to do more work to be able to stick to their own requirement of using 100% free software on their own computer systems. (And hey, Roy, if you&#8217;re reading—I&#8217;m not saying that the FSF is wrong, and I&#8217;m not putting myself in a position opposite of that of the FSF. I suspect you think so anyway, but hey, I just figured I would point that out.)</p>
<p>Even if the free software operating systems did not adopt the UDI specification, why didn&#8217;t proprietary operating systems? This is perhaps the most puzzling thing to me. It seems that in this event, <em>none</em> of the operating systems—free or proprietary—did what would have made sense. After all, even if <em>only</em> <a href="http://en.wikipedia.org/wiki/Apple_Inc.">Apple</a> and <a href="http://en.wikipedia.org/wiki/Microsoft_Corporation">Microsoft</a> adopted a common device driver specification, that would save a lot of time, effort, and improve user experience all the way around. Apple users would be able to use all the hardware that Microsoft users could use—and the inverse would also be true. The amount of time that device driver authors would have to spend writing and debugging driver code would go <em>way</em> down—free software driver authors would be able to write a driver <em>once</em>, for example, and all systems (including free software systems that chose to support the specification) would benefit.</p>
<p>I could see an objection of a driver specification that was binary-only. However, UDI was not—it mandated an ABI so that drivers that are built for a particular platform were binary-compatible with operating systems on the same platform, but it also mandated an API, so that drivers would be source compatible to <em>any</em> operating system that implemented the specification, on any platform. That by itself would seem to me to be positive motivation to hardware manufacturers to release the source code to drivers so that they can support operating systems that are on platforms that do not exist yet, or have not been considered (or have been considered to be nonviable or unsupported platforms).</p>
<p>So, I have to wonder why a common device driver specification was never implemented in various operating systems. It would seem to be a common sense thing, especially given that there are so many operating systems. It would make the coexistence of operating systems a lot easier, and it would promote choice. It might encourage bits of proprietary code on free software operating systems, but it would also enable people to drop the excuse that “free operating system <em>x</em> does not support device <em>y</em>”, and would as a result potentially increase the number of free software programs and operating systems in use, even if there is a minor cost in terms of certain drivers. And those drivers could always be replaced—a common driver specification would make it easier to understand the structure of drivers generally, and make it easier for lawful, clean-room reverse engineering to be done on those drivers.</p>
<p>Imagine, for example, if drivers for graphics cards, TV tuner cards, video and audio encoding/decoding cards, modems, storage chipsets, motherboard chipsets, <a href="http://en.wikipedia.org/wiki/USB">USB</a> chipsets, <a href="http://en.wikipedia.org/wiki/IEEE-1394">IEEE-1394</a> chipsets, graphics tablet devices, touch screens, debugging interfaces, network devices, and so forth were all written to a common specification, it would reduce the amount of code which needed testing. It would increase user choice in both hardware and operating systems—something which I still hold is quite likely the most valuable freedom we have. It would increase reliability, since the users of Windows, OS X, Linux, the various BSD systems, and other, not-so-mainstream operating systems would be able to run the same driver code and collectively supply debugging information and perform testing in a multitude of environments. It would increase security, because then common code that is well-known could be used on all platforms and not just the one it was written for. It would do for device drivers what <a href="http://en.wikipedia.org/wiki/POSIX">POSIX</a> has done for user-mode application software. I do not believe that I could be convinced that this would be anything other than a good thing.</p>
<p>Also, it could bring back old operating systems.  Imagine what life could be like, for example, if <a href="http://en.wikipedia.org/wiki/OS/2">OS/2</a> had a “UDI driver” written for it, and it could then take advantage of newer drivers never intended for it. Or any other very old operating system which is no longer supported and could still be useful, for any of a number of reasons…</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/03/03/the-uniform-driver-interface%e2%80%94why-wasnt-it-adopted/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Can you force freedom and it still be freedom?</title>
		<link>http://mike.trausch.us/blog/2010/01/19/can-you-force-freedom-and-it-still-be-freedom/</link>
		<comments>http://mike.trausch.us/blog/2010/01/19/can-you-force-freedom-and-it-still-be-freedom/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 05:12:57 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[GPLv3]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[freedom]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[wtf‽]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=581</guid>
		<description><![CDATA[So back on this topic again today.  I am going to take a look at a few different statements here in this post, and then I&#8217;m going to go over them and explain why these statements are or are not correct.  Should you wish to verify any of my information, you&#8217;re more than welcome to [...]]]></description>
			<content:encoded><![CDATA[<p>So back on this topic again today.  I am going to take a look at a few different statements here in this post, and then I&#8217;m going to go over them and explain why these statements are or are not correct.  Should you wish to verify any of my information, you&#8217;re more than welcome to do so—just make sure you actually know what you&#8217;re talking about before you call me “wrong” on this one, or I will absolutely ignore you.  I have other—and more important—things to do than put up with <a href="http://en.wikipedia.org/wiki/Troll_(internet)">trolls</a> who cannot do basic research (of course, this means that I expect that you know how to use <a href="http://www.google.com/">Google</a> and <a href="http://en.wikipedia.org/">Wikipedia</a> and will do so before writing your responses, but hey, I could be expecting too much).</p>
<h3>“You can have <a href="http://en.wikipedia.org/wiki/Freedom_(philosophy)">freedom</a> without <a href="http://en.wikipedia.org/wiki/Choice">choice</a>.”</h3>
<p>That someone could even come up with this one is just amazing to me. Note that this is not an exact quote, but it is the summary of Friday&#8217;s topic. For example, this summary comes from the idea that <a href="http://en.wikipedia.org/wiki/Canonical_Ltd.">Canonical</a> is bad for <a href="http://ubuntuforums.org/showthread.php?t=1381221">considering making mainstream non-free software available for Ubuntu based on user preferences</a>. It does not matter who came up with it, of course, but the important thing is that it be called what it is: patently absurd. The ability to choose is a major part of what freedom—or <a href="http://en.wikipedia.org/wiki/Liberty">liberty</a>—is. If you cannot make a choice on a matter, then by definition you do not have freedom in the context of that matter. It is quite simple and self-explanatory. Canonical is seeking to <em>increase</em> freedom here, not take it away. Some people actually <em>want</em> to use <a href="http://en.wikipedia.org/wiki/Proprietary_software">non-free software</a>; others may not want to use it, but aren&#8217;t aware of alternatives. The latter group of people should have our focus with regard to education (but then we should <em>let them make the choice for themselves</em>!).</p>
<p>Note that I am not one of these people: I would rather use <a href="http://en.wikipedia.org/wiki/Free_software">free software</a> because of the liberty it gives me that I have come to expect over the years. But I am <em>not</em> going to tell someone else that they are <em>harming</em> me because they would rather use non-free software that is familiar to them. All I can do is show them that there are free alternatives that exist. I cannot—and I will not—make them use it or make them feel bad for not using it. I may not like proprietary software for a variety of reasons, but I will defend people&#8217;s right to use it just as I will defend even a <a href="http://en.wikipedia.org/wiki/Stupidity">stupid</a> person&#8217;s right to spew nonsense by way of speech or written word. In other words, “<a href="http://en.wikiquote.org/wiki/Evelyn_Beatrice_Hall">I disapprove of what you say, but I will defend to the death your right to say it</a>,” or perhaps more appropriately, “I [may] disapprove of what [software you run], but I will defend to the death your right to [run] it.” Even I use a <a href="http://en.wikipedia.org/wiki/Fglrx">package</a> or <a href="http://en.wikipedia.org/wiki/NVIDIA#Documentation_and_drivers">two</a> that is proprietary in nature (though it is looking like I will not have to do so for much longer, given the efforts to replace these packages with equivalent free software).</p>
<p>It is worth it to note that by adding non-free software to <a href="http://www.ubuntu.com">Ubuntu</a>, the free software that is already there does not change. The mere existence of non-free software within its repositories does not make Ubuntu somehow bad or evil. It would add choices that do not currently exist, and that one such as myself or yourself can certainly opt out of—I most likely would, for the most part, as I do not need to depend on non-free application software, and I only use non-free drivers if I have hardware where anything else is nonviable (and only until there are functional free software drivers). Did you know that Ubuntu has <a href="https://lists.ubuntu.com/archives/gobuntu-devel/2008-April/000651.html">an option in the installer to only install free software</a>? Can you say that for your favorite desktop <a href="http://en.wikipedia.org/wiki/Operating_system">operating system</a> distribution, whatever that might be?</p>
<p>The response to this idea, then, is that without choice, there is very little—if any, really—freedom. The thing that gives us freedom with free software is that we are able to to download the source code, to review/audit it, to change it to fit our needs or fix a problem, and to share those changes. If we cannot do those things, then it is not free software; see the <a href="http://www.gnu.org/philosophy/free-sw.html">essential freedoms</a>. But non-free software inside a distribution is not something that should not cause you great consternation even if you are among the most dedicated of freedom advocates, for if you are a true advocate of <em>freedom</em> then by definition you <em>must</em> respect a computer user&#8217;s freedom of choice. Remember that we choose to run free software because of the benefits it brings to us; we choose to improve upon free software for much the same reason. Eventually, I think that free software will <a href="http://en.wikipedia.org/wiki/History_of_free_software">once again</a> become the norm for computer software, on <a href="http://en.wiktionary.org/wiki/merit">merit</a> alone, for no other reason than the development, release, and usage of free software is a highly practical solution for many things ranging from <a href="http://en.wikipedia.org/wiki/Library_(computing)">library code</a> to <a href="http://en.wikipedia.org/wiki/Application_software">application software</a> to complete operating systems. It is worth noting that <a href="http://en.wikipedia.org/wiki/Free_content">free content</a>—which is similar in concept to free software, which itself is merely a specific application of freedom itself—also appears to making major headway towards becoming mainstream; it is doing so more quickly than free software is, but there is every reason to believe that free software will follow, for it is already.</p>
<h4>An Example</h4>
<p>Imagine that you are in a store, because you need some milk for dinner some night. You always get 1 gallon of 2%. But, the store has stopped carrying it, because more people buy whole milk and they were throwing away the 2% milk—demand was low, supply got to be too high, so they just stopped carrying it altogether. You leave the store and head to the next in the same town and you find the same thing there. You have a choice of stores to go to, and you have made the choice to go buy yourself some milk. But there is only one type of milk. You no longer have the choice to buy 2% where you are, and so effectively, your freedom to buy it has been taken away. (Of course, <a href="http://www.thriftyfun.com/tf73187289.tip.html">you can make 2% milk</a> <a href="http://answers.yahoo.com/question/index?qid=20090809170811AAT0NO3">from whole milk</a> (and <a href="http://wiki.answers.com/Q/How_much_butter_added_to_skim_milk_will_make_whole_milk">make whole from 2% even</a>, or <a href="http://www.cookingforengineers.com/article/113/Making-Butter">even butter</a>), but I suspect just as many people want to do that as want to write their own free software that they <em>demand</em> simply must exist, but doesn&#8217;t yet).</p>
<p>Now, the point here is that there is more than one freedom in play: the freedom of the store to stock (or not stock) various products, which affects your freedom as a <a href="http://en.wikipedia.org/wiki/Consumer">consumer</a> to buy the product you want. In the case of software, and choice, if the software you are running gives you all the choices you want, <em>then it fits your needs</em>. If it does <em>not</em>, then you are not going to be able to use it the way you want. Now you have two choices: you can do the work that it would take to make your desired choice possible, or you can use another system (free or proprietary) that will give you the choice that you want. Many people will choose the latter, especially if they are non-programmers. Though I&#8217;ve seen programmers also choose to use proprietary systems for something that they could themselves implement. That is their choice, of course. After all, if you really wanted 2% milk, you would have the same choice: make it yourself, or drive to the next town over which might have it available for you (assuming that there is some in stock and that the stores neighboring towns have not also decided to stop stocking 2% milk).</p>
<h4>Ubuntu One: The Reason Behind This</h4>
<p>This discussion came up because someone on <a href="http://identi.ca">identi.ca</a> made the claim that Canonical is forcing proprietary software into Ubuntu by way of the <a href="http://en.wikipedia.org/wiki/Ubuntu_One">Ubuntu One</a> client software. I cannot even begin to state just how woefully incorrect this point of view is. First off: the <em>only</em> thing added to Ubuntu is the ability to connect to Ubuntu One, and the software that was added to Ubuntu do to that is licensed under Version 3 of the <a href="http://en.wikipedia.org/wiki/GPL"><strong>GNU General Public License</strong></a>. The claim made in response to that was that Ubuntu One is only <em>partly</em> free software, because the server is somewhere else and has not been released. As we shall soon see, that claim is nonsensical—it depends on an extremely naïve view of how software actually works in order to make sense, really.</p>
<p>So, first things first: Ubuntu One, which was added to Ubuntu 9.04, is <em>not</em> proprietary software. The proof rests in the fact that it GNU GPL v3.0, and we know <em>a priori</em> that software licensed under the GPL is free software, so we do not need to go further on that point.</p>
<p>Now, because the software in question added to Ubuntu is free software, we can read it. The essential freedoms granted to us by truly free software ensure this, and the GPLv3 is indeed a truly free software license because it grants those freedoms. Because we are able to study the software and see how it communicates with the server. Once we know how to communicate with the server, we can write that up and design a server that communicates exactly the same way. From there, it is just a matter of patching the sync dæmon that is in Ubuntu to talk to an arbitrary, Ubuntu One compatible server. To determine how to do that, one need only read the <a href="http://python.org/">Python</a> source code contained in the <code>python-ubuntuone-storageprotocol</code> and <code>python-ubuntuone-client</code> packages. If you do not know Python well, you might expect to spend several days doing that, but if it bothers you so tremendously that you are going to practically start a flame war over it, you may find it worth it to do so.</p>
<p>Of course, the other side to that is this: if you really want Ubuntu One to talk to an arbitrary server that runs free software, and you want that free software to be written, you can fund the effort to write the free software. Approach a proficient developer somewhere out there on the Internet and ask them how much they&#8217;d charge to write a server for Ubuntu One. You might not be able to afford the fund the project entirely, but if you get a number from someone, you can start a coordinated effort to raise the funds. If you are lucky enough to be able to fund the whole project, then do so: it is but one way that you can help provide something back to the community. This does not apply to just an implementation of the Ubuntu One protocol, it could apply to anything that you see that is missing and needs to be created. Or you could spend time learning what you need to learn to pick up the project yourself, if you care for the project that deeply. The most important attribute that a person can have in order to get started with development is motivation—<a href="http://jameswestby.net/weblog">James Westby</a> reminded me of this a couple of years ago, something which I had forgotten.</p>
<h4>Perceptions: Another (Possible) Reason</h4>
<p>It was suggested to me that another possible reason that people would object to having non-free software inside an operating system distribution such as Ubuntu is that they are afraid that the proprietary options have higher quality, or offer superior features, or provide functionality that is not offered by any existing free software. Thus, they have this perception that by adding such non-free software into a distribution like Ubuntu, people will automatically use and prefer it over free software. This simply is not the case. Sure, some people will use iTunes if it is available on Ubuntu. Maybe many people would. I <em>might</em> even do so, if it were legally available for me to use that way <em>and</em> if it supports the purchase of <a href="http://en.wikipedia.org/wiki/Digital_rights_management">DRM</a>-free music. However, if there were a free software client for the iTunes store, I&#8217;d much prefer to use that. To my knowledge, however, there is no such thing that exists.</p>
<p>If there is not a free software alternative for a non-free component inside a distribution of software, if you are offended by that, then by all means, <em>create a free software alternative for it</em>! As mentioned above, you can start on such a project&#8217;s development, or you can look for people that would be interested in volunteering for it and coordinating them, or you can put up funds to pay developers to implement it. If you have money, this can be the easy part: find someone who is willing to accept payment for the service of implementing the free software alternative for whatever it is that someone else has funded, wrote, and released as proprietary software. It is not like free software is developed without cost (and if you think that it is, then you seriously do not understand what free software is or anything about the world of free software and have no standing to be getting mad when a company spends money writing software and does not release it as free software. You can try to write companies that write such software and ask them if they will give you any form of written specifications for the software, or an interface definition, or something along those lines. The worst thing that could happen is that you will be told “no”. And do so <em>nicely</em>, or they&#8217;ll be more inclined to tell you “bugger off” instead of simply “no”.</p>
<h3>“Allowing users to choose proprietary software is anti-freedom.”</h3>
<p>Nothing could be farther from the truth; it is the same, in fact, as the above statement that one can have freedom without choice. For example, if Ubuntu adopts iTunes and makes it so that you can “sudo aptitude install itunes” in the future, that is <em><strong>not</strong></em> a bad thing! How <em>can</em> it be—It contributes to the ability to choose, and thereby <em>contributes to the freedom of the end-user</em>. If you are a die-hard free software supporter and do not want to run non-free software on your system, then there is a very simple solution for you: <em><strong>simply don&#8217;t install it</strong></em>.  That <strong>is</strong> a valid solution to the problem. There are tools already available that can be run as a <a href="http://en.wikipedia.org/wiki/Cron">cron job</a> and report on any non-free software that you might have accidentally (or even intentionally) installed. If you are worried about additional non-free software getting into Ubuntu, then help enhance those tools. Or write a <a href="http://en.wikipedia.org/wiki/GUI">GUI</a> <a href="http://en.wikipedia.org/wiki/Front_end">front-end</a> for something like the <a href="http://en.wikipedia.org/wiki/Vrms">virtual RMS</a> program and work to get that included into Ubuntu as well, perhaps something that can run every time you login to the computer, or that runs as a persistent process that watches the package database on your distribution of choice for updates and then checks to see if newly installed software is non-free and alerts the user. Of course, it&#8217;d be most effective as an opt-in system, and not an <a href="http://en.wikipedia.org/wiki/Opt-out">opt-out</a> one where it would just be annoying.</p>
<p>There is no way, then, that freedom is actually reduced in this way when another choice becomes available. If iTunes were to be included in the repositories (and I suspect it would be, <a href="http://www.ubuntu.com/community/ubuntustory/components">like the restricted, universe and multiverse repositories</a>, a separate opt-in repository; perhaps simply “proprietary” would be fitting), this does not reduce your ability to choose to run a free software media player and manager like <a href="http://banshee-project.org/">Banshee</a>, or <a href="http://projects.gnome.org/rhythmbox/">Rhythmbox</a>, or even <a href="http://amarok.kde.org/">AmaroK</a> if you are so inclined to run that KDE stuff.</p>
<p>Once upon a time, <a href="http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt">FUD (fear, uncertainty, and doubt)</a> was the tool of Microsoft. We (the free software world) <em>completely</em> hated it when Microsoft would put out FUD, because we would then have to fight that FUD by way of explanation and demonstration. Well, some time ago, a subgroup of the free software world decided to start using FUD themselves—it was done with <a href="http://en.wikipedia.org/wiki/Mono_(software)">Mono</a>, and it is being done now with just a <em>survey</em> asking people what sort of software they would like to see in Ubuntu. Now, those of us who are left who are advocates of liberty—both personal and societal—are stuck potentially fighting <strong><em>two</em></strong> battles. One with Microsoft&#8217;s FUD—such as the constant notion that you have to pay for software—and one with the &#8220;free software evangelists&#8221; FUD, who have even gone so far as to say that people should not use certain types of free software (the one who calls himself “The Open Sourcer” <a href="http://www.theopensourcerer.com/tag/mono/">even still today tells people to remove certain truly free software from their systems</a>). The truth is somewhere in the middle, between these two ends of the spectrum.</p>
<h3>Conclusion</h3>
<p>Back to the point at hand: to say that giving a person a choice is a constraint on that person&#8217;s freedom, that is <a href="http://en.wikipedia.org/wiki/Doublespeak">doublespeak</a>.; it is saying that “slavery is freedom,” albeit to a lesser degree than that very melodramatic extreme—it simply does not make sense. The concept just does not make sense unless the words that are used to express the concept are dramatically redefined to mean things vastly different from what standard English dictionaries define them to be. The only reason that one has to try to convince someone that additional choice is a constraint on freedom is to try to convince people of things that are not true; to install fear, uncertainty, and doubt into people. This is the sort of behavior that—no matter <em><strong>what</strong></em> community it originates from—is completely immoral, unethical, and absolutely unacceptable. It&#8217;s dishonest, and for those of you who know me personally, you know what I think of dishonesty.</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/01/19/can-you-force-freedom-and-it-still-be-freedom/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>On the merits of honesty and knowledge.</title>
		<link>http://mike.trausch.us/blog/2010/01/16/on-the-merits-of-honesty-and-knowledge/</link>
		<comments>http://mike.trausch.us/blog/2010/01/16/on-the-merits-of-honesty-and-knowledge/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 08:30:56 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=579</guid>
		<description><![CDATA[I get awfully sick and tired of people sometimes. &#160;Especially when people claim that they support one thing and yet make it quite clear that they really don&#8217;t.
Let&#8217;s get something straight, people: &#160;Freedom is a lot more than just free software or choices. &#160;Freedom is a concept that most people who have gotten on the [...]]]></description>
			<content:encoded><![CDATA[<p>I get awfully sick and tired of people sometimes. &nbsp;Especially when people claim that they support one thing and yet make it quite clear that they really don&#8217;t.</p>
<p>Let&#8217;s get something straight, people: &nbsp;Freedom is a <em><strong>lot more</strong></em> than just free software or choices. &nbsp;Freedom is a concept that most people who have gotten on the &ldquo;free software&rdquo; bandwagon of late just don&#8217;t understand! &nbsp;It is awfully frightening; even RMS feels that freedom cannot be had without choice&mdash;his writings of the past 20+ years make it clear that he feels that choice is key, and these people are calling him &ldquo;leader&rdquo; without even knowing what it is he is fighting <em>for</em>!</p>
<p>It seems that the &quot;free software&quot; crowd these days assumes that if you do not hang off of their every word, accept their every inconsistent argument, and bow to their ways of making every last line of code free and GPL&#8217;d, you are the inconsistent one (because you&#8217;re inconsistent with them). &nbsp;Even more to the point, I am utterly sick of running into people who learned about &ldquo;free software&rdquo; bloody yesterday and are now going &ldquo;Oh, you bad NVIDIA user, you&#8217;re evil, you&#8217;re wrong, you&#8217;re <em>hurting</em> me just by using NVIDIA.&rdquo; &nbsp;Sure, asshole. &nbsp;I&#8217;ll remember that the next time I send data off to a project working on free drivers&mdash;I&#8217;m hurting you, yep. &nbsp;So, then, why am I bothering to contribute my time, tell me? &nbsp;And when people rant but then get offended when you tell them that they&#8217;re ranting and to hurry up and get to the point, and they get offended by that? What is that, anyway? &quot;Oh, I&#8217;m so thin skinned I can&#8217;t even listen to you tell it like it is?&quot; is that what that is? I don&#8217;t know. &nbsp;In case you couldn&#8217;t tell by the category, <em><strong>this post is a rant</strong></em>. (though much larger than the rants that are possible on services like identi.ca).</p>
<p>I am going to guess that it is time for me to pick up my book on freedom and start working on it again. &nbsp;The world needs to be reminded what freedom really is; far too many have too limited a view of what freedom is and only apply it to certain situations, certain circumstances, or certain things. &nbsp;Or think it is some boundless fountain of infinite choice. &nbsp;Where are the people that don&#8217;t sit at those two extremes‽</p>
<p>And in the meantime, I have to figure out, seriously, why I bother. &nbsp;My clients want to move to free software stacks, and I am doing so for them over time (gasp! by using their proprietary software to study it, learn about it, and reproduce it&mdash;but I suppose that is &ldquo;harming&rdquo; the new generation of free software users, too, right?).</p>
<p>What am I missing here? &nbsp;I don&#8217;t know. &nbsp;I know this: It is late and I am cranky. Night.</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2010/01/16/on-the-merits-of-honesty-and-knowledge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Still looking for a house…</title>
		<link>http://mike.trausch.us/blog/2009/12/27/still-looking-for-a-house%e2%80%a6/</link>
		<comments>http://mike.trausch.us/blog/2009/12/27/still-looking-for-a-house%e2%80%a6/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 18:30:01 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=577</guid>
		<description><![CDATA[It&#8217;s been quiet here on my blog lately.&#160; We moved out of the apartment in Decatur, and then went to Toledo for Thanksgiving.&#160; Then we got back from there, and began getting things setup here in the house in Dunwoody.&#160; We&#8217;re staying with Leesa&#8217;s parents until we find a house.&#160; This is, of course, not [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been quiet here on my blog lately.&nbsp; We moved out of the apartment in Decatur, and then went to Toledo for Thanksgiving.&nbsp; Then we got back from there, and began getting things setup here in the house in Dunwoody.&nbsp; We&#8217;re staying with Leesa&#8217;s parents until we find a house.&nbsp; This is, of course, not an ideal situation, but it works.</p>
<p>The server was down for a while because of the move, and then we had to wait for Comcast to do its thing and get us a new cable modem (why they don&#8217;t just let you move it from one place to the other is beyond me&#8230;).&nbsp; And now, we&#8217;re making various tweaks to try to fix things up here while we&#8217;re here&mdash;a form of rent, I&nbsp;suppose.</p>
<p>Christmas was good.&nbsp; Ben got lots of stuff, I&nbsp;got some PostgreSQL&nbsp;manuals in dead-tree form.&nbsp; I&#8217;d like them in PDF&nbsp;on a Kindle DX, but with those being so awfully expensive&#8230; well, it&#8217;s better just to have something I can hold in my hand.</p>
<p>Anyway, there really isn&#8217;t all that much to write right now.&nbsp; Many of my projects have stalled over the holiday, and they&#8217;ll be picking up again soon.&nbsp; Libvfcgi is moving along slowly (no thanks to myself; I have barely had any time to work on it!)&nbsp;and there is one other person who is working on it at the moment and doing a quite excellent job.&nbsp; I&#8217;d like to have 0.0.2 out soon, but we&#8217;ll see how that works.&nbsp; First I have to get my new workstation setup so that I&nbsp;can work.&nbsp; Off to try to work on the wireless network here!</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2009/12/27/still-looking-for-a-house%e2%80%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And we&#8217;re back&#8230; for the moment anyway.</title>
		<link>http://mike.trausch.us/blog/2009/10/28/and-were-back-for-the-moment-anyway/</link>
		<comments>http://mike.trausch.us/blog/2009/10/28/and-were-back-for-the-moment-anyway/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 05:36:22 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[site maintenance]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=575</guid>
		<description><![CDATA[So the server is running again, or so it is having me think.
Let&#8217;s see if we make it past another 24 hours without something strange going on&#8230;
]]></description>
			<content:encoded><![CDATA[<p>So the server is running again, or so it is having me think.</p>
<p>Let&#8217;s see if we make it past another 24 hours without something strange going on&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2009/10/28/and-were-back-for-the-moment-anyway/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unexpected downtime for trausch.us, mischiefinoverdrive.us.</title>
		<link>http://mike.trausch.us/blog/2009/10/26/unexpected-downtime-for-trausch-us-mischiefinoverdrive-us/</link>
		<comments>http://mike.trausch.us/blog/2009/10/26/unexpected-downtime-for-trausch-us-mischiefinoverdrive-us/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 14:17:31 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[computing]]></category>
		<category><![CDATA[site maintenance]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=573</guid>
		<description><![CDATA[So, this weekend was&#8230; interesting.
Through something of a comedy of errors, the server suffered some strange software issues that prevented it from working this weekend.&#160; There was a bug in a recent update to the server software (running testing software)&#160;and that caused longer downtime than it should have due to various interactions between things on [...]]]></description>
			<content:encoded><![CDATA[<p>So, this weekend was&#8230; interesting.</p>
<p>Through something of a comedy of errors, the server suffered some strange software issues that prevented it from working this weekend.&nbsp; There was a bug in a recent update to the server software (running testing software)&nbsp;and that caused longer downtime than it should have due to various interactions between things on the server.&nbsp; The good news is that this is mostly fixed.</p>
<p>Additionally, this downtime has taught me that there is yet still more to do in terms of getting the server able to stand back up on its own.&nbsp; I&#8217;ve simplified the server&#8217;s setup a bit, and I&nbsp;have to write some scripts and other little glue here and there to tie down some of the things I&#8217;m doing so that the server can do things like go down and come back up without issues, all by itself.&nbsp; Getting that done would be generally a good thing. &nbsp;First things first, I&nbsp;have to figure out a decently reliable way to shutdown the system without having to do something like kill the containers and not give them the chance to cleanly shut down.&nbsp; Ideally, there would be some sort of command that could be run on the system that would enable the containers to be shutdown.&nbsp; This is slightly challenging, because you cannot just chroot into the directory tree that the VMs are running in and kill processes, because things like /proc inside the container aren&#8217;t visible to tools running on the host.&nbsp; Oops.</p>
<p>So, I&nbsp;have some work left yet in terms of getting the server going the way it needs to be again.&nbsp; After that, I&#8217;ll be working on it over the next couple of weekends to try to increase its robustness, and so planned weekend downtime for *.trausch.us and www.mischiefinoverdrive.us can be expected.&nbsp; </p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2009/10/26/unexpected-downtime-for-trausch-us-mischiefinoverdrive-us/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On mailing list management software: Part 1</title>
		<link>http://mike.trausch.us/blog/2009/10/14/on-mailing-list-management-software-part-1/</link>
		<comments>http://mike.trausch.us/blog/2009/10/14/on-mailing-list-management-software-part-1/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 17:52:52 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[The MUA Saga]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[freedom]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=571</guid>
		<description><![CDATA[Frequently enough, I&#160;see people forwarding messages to mailing lists that were intended to get to the ML&#160;in the first place, but didn&#8217;t happen due to some configuration issue or whatever.&#160; There are people that think this is fine, this is workable, and it is correct.&#160; I&#160;happen to disagree, but discussing this in the context of [...]]]></description>
			<content:encoded><![CDATA[<p>Frequently enough, I&nbsp;see people forwarding messages to mailing lists that were intended to get to the ML&nbsp;in the first place, but didn&#8217;t happen due to some configuration issue or whatever.&nbsp; There are people that think this is fine, this is workable, and it is correct.&nbsp; I&nbsp;happen to disagree, but discussing this in the context of an existing mailing list software&#8217;s mailing list is proving to be fruitless (I would have guessed this initially anyway, but it wasn&#8217;t my idea to take the conversation there&#8230;).&nbsp; So, here, I&nbsp;attempt to state exactly where I&#8217;m coming from as a starting point.&nbsp; This is the first part of what will hopefully be a productive series of posts that strive to define what mailing list software&nbsp;ought to be, how it ought to work, and gradually refining detail until it becomes a blueprint for an initial implementation, at which point it would be my intention to begin a project to do the implementation.</p>
<h2>Base Position</h2>
<p>Mailing lists should Just Work.&nbsp; Mailing list management servers are software just like any other software, and they can be made to do what is convenient for us humans, and they <em>should</em> be made to do what is convenient for us humans.&nbsp; Mailing list software should cater to the needs and desires <em>of all its users</em>, regardless of technical aptitude or choice of MUA&nbsp;(mail user agent, email client)&nbsp;software.&nbsp; Mailing list software should be updated to operate with the expectations and flexibility expected of software used in the 21st century, and provide more options for interaction both technical users and non-technical users alike can love and use.</p>
<p>It is my personal belief that both mailing list software and MUA&nbsp;software should follow the established philosophy of &quot;do one thing and do it well&quot;.&nbsp; That means that MUA software should be expected to only be capable of being a basic mail user agent, and that mailing list server software should be expected to be capable of everything required to manage a mailing list for end-users, technical users, and list administrators.&nbsp; A finer-grained permission model in mailing list server software could be adopted to make some of the proposed features even more convenient and get rid of the &quot;administrator&quot;&nbsp;vs. &quot;user&quot;&nbsp;line (i.e., &quot;Jack can unsubscribe users&quot;, or &quot;Carla can list messages in the mailing list&#8217;s pending approval queue&quot;, or whatever).</p>
<p>Furthermore, it is my belief that enabling convenience for end-users does not necessarily mean taking advanced functionality away from technical users: with careful thought and design, <em>both</em> needs can be met with a single standard.&nbsp; It is also my belief that the most important part of any proposed design is the consideration of users ranging from complete newbies to people that have no time in the world but to learn about every feature that is available and find applications for them.</p>
<p>It is <em>not</em> my belief that mailing list management software should be extended to do things beyond the realm of mailing list management, though I&nbsp;believe that mailing lists are also currently very narrowly defined to be a mirror of public forums such as Usenet, and mailing lists certainly do not need to be restricted to such a model when a little bit of extension can bring a great deal of benefit for all users involved.</p>
<p>In short, mailing list management software should maximize flexibility while minimizing the amount of knowledge required to initially begin using the mailing list system (at the end-user level, at the technical user level, at the administrative level) and regularly interact with the system. &nbsp;Convenience, ease-of-learning, continued ease-of-use, flexibility in usage patterns/workflows and use cases <strong><em>are all equally important</em></strong>.</p>
<h2>Functionality Target Proposal</h2>
<p>Let us assume the following statements are true:</p>
<ol>
<li>Mail User Agent software can only be relied upon to have barebones message handling functionality that does not encompass mailing-list aware logic.</li>
<li>Users can only be relied upon to have barebones message handling functionality with only message-level context, such that they know that they are responding to a message.</li>
</ol>
<p>Now, let&#8217;s define a few other assumptions that we will take to be true with regard to MUA software:</p>
<ol>
<li>MUA&nbsp;software properly sends <em>either</em> a References header <em>or</em> an In-Reply-To header, which facilitates threading (should not be an issue, since RFC{<a href="http://tools.ietf.org/html/rfc822">822</a>,<a href="http://tools.ietf.org/html/rfc2822">2822</a>,<a href="http://tools.ietf.org/html/rfc5322">5322</a>} specifies the header and it should be supported universally).</li>
<li>MUA&nbsp;software gives the end user no ability to send custom headers as a base feature.</li>
<li>MUA&nbsp;software gives the end user no ability to modify headers  <em>during message composition </em>other than To, Cc, Bcc, and Subject as a base feature.</li>
<li>Even if MUA&nbsp;software can do items 2 and 3 above, it is safe to assume that:
<ol>
<li>It is terribly inconvenient to do so, or</li>
<li>The user does not know how to do so.</li>
</ol>
</li>
</ol>
<p>Now, let&#8217;s define a few other assumptions that we will take to be true with regard to this ideal mailing list management software:</p>
<ol>
<li>The mailing list management software remembers mailing list threads by remembering message IDs.</li>
<li>The mailing list management software may or may not fall back to identification of threads by subject line, timestamp, or some other means, depending on what is most feasible and whether or not there are any accurate huristics that can be applied to make a determination with reasonable confidence.</li>
<li>The mailing list management software is remembers messages and posters, and stores information about each message in a manner that makes filtering (e.g., filters for the display of archives, or filters for sending back out to the mailing list)&nbsp;on the server side possible.</li>
<li>The mailing list management software can apply a limited number of per-user preferences on the server, including multiple addresses associated with a single subscriber, mode of subscription (digest, normal), interval of digests with at least an option for daily or per-<em>x</em>-number of messages with <em>x</em> being a server-specific configuration item, and perhaps server-side support for bandwidth saving features such as server-side &quot;killfiles&quot;.</li>
<li>The mailing list management software <em>never</em> <strong><em>requires </em></strong>custom message headers or interfaces other than email for management of the server or per-user preferences, though it can implement such features <em>in addition to</em> a base interface which depends only on an RFC{<a href="http://tools.ietf.org/html/rfc822">822</a>,<a href="http://tools.ietf.org/html/rfc2822">2822</a>,<a href="http://tools.ietf.org/html/rfc5322">5322</a>} capable mailer.</li>
<li>The mailing list management server uses all allowable standard headers for list management such that MUA&nbsp;software implementing those standards can use the information, but <strong>does not assume</strong> that MUA&nbsp;software is actually compliant to those specifications, instead treating them as optional in nature.</li>
</ol>
<p>Let&#8217;s further define a few modes of operation.&nbsp; We will discuss potential implementations for these modes later; for now, we are just defining the modes of operation.&nbsp; If you have a new mode to suggest, please post it in the comments section below, in the same format.&nbsp; A solution for how to make the mode work is not required, but if desired can be supplied as well if it is in the framework of this post.&nbsp; We&#8217;re talking about the <em>ideal</em> mailing list management software here, not any currently existing one.&nbsp; </p>
<p>Here is the first (and probably most common) mode of operation, which we will call Mode 1 (&quot;Typical operation&quot;):</p>
<ol>
<li>Bob wants to send an original post to a mailing list (e.g., start a new thread).&nbsp; He enters To and Subject headers, and composes his message just as if he&#8217;s sending to an individual.&nbsp; <em>Note that current mailing lists already do that, and thus mailing lists are in this respect transparent.</em></li>
<li>Bob&#8217;s message hits the mailing list server and is distributed to the subscribers of the mailing list as expected.</li>
<li>Alice sees Bob&#8217;s message, and wishes to add to the thread of discussion, so she hits &quot;Reply&quot;, and enters her message as a reply to Bob&#8217;s.&nbsp; She then hits send.</li>
<li>Alice&#8217;s message hits the mailing list server and is distributed to the subscribers of the mailing list as expected.</li>
</ol>
<p>Here is Mode 2 (&quot;Private replies&quot;):</p>
<ol>
<li>Bob wants to send an original post to a mailing list (e.g., start a new thread).&nbsp; However, the thread is intended to be a private poll, and so replies should go to Bob directly and not be distributed to the mailing list.</li>
<li>Bob&#8217;s message hits the mailing list server and is distributed to the subscribers of the mailing list as expected.</li>
<li>Alice replies to Bob&#8217;s mailing list post, which goes to Bob without being distributed to the mailing list.</li>
</ol>
<p>Here is Mode 3 (&quot;Private subthreads&quot;):</p>
<ol>
<li>Bob wants to send an original post to a mailing list (e.g., start a new thread) normally.</li>
<li>Bob&#8217;s message hits the mailing list server and is distributed to the subscribers of the mailing list as expected.</li>
<li>Alice responds to Bob&#8217;s message with a few queries and sends the message to the mailing list.</li>
<li>Frank responds to Alice&#8217;s queries with a few more to seek clarification.</li>
<li>Bob responds to Alice normally.</li>
<li>Bob responds to Frank normally.</li>
<li>Jo sees Bob&#8217;s response to Frank and has a question that should be addressed to Bob directly, without going to the mailing list.&nbsp; Jo sends an email that should get directly to Bob and not be distributed to the mailing list.
<ol>
<li><strong>Note</strong><strong>:</strong> mail filtering (if Bob uses it) should not filter the mail as if it came from the mailing list, but the message should thread properly if mail filtering is not considered or if the message is moved to a folder with the rest of the mailing list messages.</li>
<li>Bob receives the response and replies to the message, which goes to Jo and does not get distributed to the whole of the mailing list.</li>
</ol>
</li>
</ol>
<p>Here is Mode 4 (&quot;Dead thread&quot;):</p>
<ol>
<li>Bob wants to send an original post to a mailing list that is normally a discussion list, but this is an announcement and there should be no replies.</li>
<li>Bob&#8217;s message hits the mailing list server and is distributed to the subscribers of the mailing list as expected.</li>
<li>Alice responds to Bob&#8217;s message with some questions pertaining to the announcement.</li>
<li>The mailing list software informs Alice that responses were disabled on the post.</li>
</ol>
<p>Here is Mode 4a (&quot;Dead subthread&quot;):</p>
<ol>
<li>Bob wants to send an original post to a mailing list normally.</li>
<li>Bob&#8217;s message hits the mailing list server and is distributed to the subscribers of the mailing list as expected.</li>
<li>Alice responds to Bob&#8217;s message with some questions.</li>
<li>Bob responds to Alice&#8217;s message, answering the questions, and noting that the discussion should go elsewhere for any reason, and that the subthread is closed.</li>
<li>Richard responds to Bob&#8217;s message, trolling.</li>
<li>The mailing list software informs Richard that responses were disabled on the subthread.</li>
</ol>
<p>Here is Mode 4b (&quot;Killed thread&quot;):</p>
<ol>
<li>Bob wants to send an original post to a mailing list normally.</li>
<li>Bob&#8217;s message hits the mailing list server and is distributed to the subscribers of the mailing list as expected.</li>
<li>Alice responds to Bob&#8217;s message.</li>
<li>Frank responds to Bob&#8217;s message.</li>
<li>Jo responds to Bob&#8217;s message.</li>
<li>Frank responds to Alice&#8217;s message.</li>
<li>Frank responds to Jo&#8217;s message.</li>
<li>&#8230;</li>
<li>Eventually, the thread gets out of hand, and everyone but the trolls want the thread dead.&nbsp; Bob sends a message stating that the thread is dead, and dead it remains.</li>
<li>Future messages in reply to the thread are responded to by the mailing list software with a message stating that the thread was killed and replies are disabled on the post.</li>
</ol>
<p>Here is Mode 5&nbsp;(&quot;Muted thread&quot;):</p>
<ol>
<li>Bob wants to send an original post to a mailing list normally.</li>
<li>Bob&#8217;s message hits the mailing list server and is distributed to the subscribers of the mailing list as expected.</li>
<li>Conversation ensues and certain users are utterly disinterested and do not want to receive messages on the thread any longer.</li>
<li>Jo sends a message to the mailing list indicating disinterest and the mailing list server obliges by not sending Jo any more messages from the thread.</li>
</ol>
<p>Here is Mode 5a (&quot;Muted subthread&quot;):</p>
<ol>
<li>Bob wants to send an original post to a mailing list normally.</li>
<li>Bob&#8217;s message hits the mailing list server and is distributed to the subscribers of the mailing list as expected.</li>
<li>Conversation occurs.</li>
<li>Jo sends a message to the mailing list indicating disinterest in a subthread, and the mailing list server obliges by not sending Jo any more messages from that subthread.</li>
</ol>
<p>Here is&nbsp;Mode 5b&nbsp;(&quot;Temporary Mute&quot;):</p>
<ol>
<li>A mailing list has &quot;blown up&quot; and some of its users would rather not see any mail from the list for a period of time (say, a day or a week).</li>
<li>Users respond to any message in the mailing list and state that they want the list totally muted from their perspective for a specific (but arbitrary)&nbsp;duration.</li>
</ol>
<p>Here is Mode 6&nbsp;(&quot;Named Subgroups&quot;):</p>
<ol>
<li>Bob is on a mailing list for a project and has a security issue to discuss.&nbsp; He sends a message with [security] in the subject.</li>
<li>The message is delivered to only people that are in the [security] subgroup; whether the subgroup is open for joining by members of the mailing list or is closed off is up to mailing list server configuration.</li>
<li>Replies are contained within the named subgroup.</li>
</ol>
<p>Here is Mode 7&nbsp;(&quot;Hidden Addresses&quot;):</p>
<ol>
<li>A group of users would like to have a mailing list, but they <em>do not want their addresses shared with other users when they post</em>, for whatever reason.
<ol>
<li><strong>Note</strong> that this can be used to prevent spammers from subscribing to the list, lurking, and harvesting addresses&#8211;very useful today.</li>
</ol>
</li>
<li>The mailing list software takes posts and:
<ol>
<li>Modifies the &quot;From&quot;&nbsp;header of the message to retain the name component, and changes the address component to that of the mailing list.</li>
<li>Replaces the Message-ID&nbsp;header of the message with one generated by the mailing list software for the mailing list itself.</li>
<li>Removes any Received headers.</li>
<li>Removes (but remembers!)&nbsp;any Cc headers that were applied to the incoming message, and honors them until such time as it is told that the Cc should be dropped explicitly, for example by a recipient of the Cc (who sees the Cc line with only their address in it) or a trust list administrator or trusted list helper that can act on the behalf of the Cc recipient&nbsp;(&quot;plz stop sending mailz 2 me k thx&quot;).</li>
</ol>
</li>
</ol>
<h3>Possible Implementation&nbsp;(High Level)&nbsp;Notes</h3>
<p>Now, between these seven distinct modes and their submodes, all the infrastructure that is necessary to expand the mailing list&#8217;s utility are possible to fit nearly any type of usage pattern/use case&#8211;transparently, and without any special requirements on MUA&nbsp;software beyond very simple, basic message receiving/display and sending.&nbsp; At this point, I&#8217;m interested in collecting other use cases that I&nbsp;may not have thought about, but that people already use or would imagine would be useful.&nbsp; The goal, ultimately, is to attempt to come up with a design and specification for a truly transparent mailing list management system that is more flexible than today&#8217;s software, that can have per-user preferences that are centralized and MUA-independent, and have features that can be used in the context of messages sent to the mailing list.</p>
<p>One idea is to use in-band signaling on the mailing list to indicate various things.&nbsp; Unlike list software like majordomo where commands are sent to special mailing addresses, it&#8217;s possible that some things can be done by adopting existing conventions and others can be done by adding special information to the message body itself.&nbsp; For example, Mode 6 is imagined as being part of the already-widely adopted convention that people can filter out based on [tags] in the subject, so an [OT] is used for off-topic, [RFC] for request-for-comments, and so forth.&nbsp; <em>The advantage of adopting conventions and in-band signaling is that it is inherently portable to nearly all MUA&nbsp;software, regardless of age or capability, as long as either References are In-Reply-To are supported.</em></p>
<h3>Additional Modes</h3>
<p>If you know of a workflow or a mode of operation/use case that <strong>would not fit</strong> in with this proposal, state it&nbsp;(I&#8217;m <em>not</em> looking for technical arguments of feasibility right now, just desired modes of operation; a future post and/or wiki page will serve the purpose of overall technical feasibility evalutation).&nbsp; Consider this to be the &quot;research stage&quot;&nbsp;of a system to-be-specified, with potential for becoming an RFC a published Internet standard with the goal of improving life for all of us: non-technical users, technical users, users married to our workflow (or not).&nbsp; <em>The only correct system is one that works for everyone in as flexible manner as is possible.</em></p>
<h2>Centralization</h2>
<p>Many of these use cases (modes)&nbsp;require that mailing lists are a &quot;gateway&quot;&nbsp;for all of the interaction between users unless things are explicitly taken off-list, which of course users are free to do, if desired.&nbsp; Some would seem to believe that if everything is centralized that certain use cases become inherently impossible.&nbsp; While that might have been true given the computing resources that were available in the 1990s, it is not true today, and we shouldn&#8217;t pretend that it is; even a uniprocessor server running with a 266 MHz CPU&nbsp;and 64&nbsp;MB&nbsp;of RAM&nbsp;should be able to run a mail list server implementing these features, serving a moderate number of users and still be fast and responsive.</p>
<p>Sure, lists that are the size of the <a href="http://lkml.org/">LKML</a>&nbsp;would probably want to run the mail list server on one machine and the database server on another, or have a distributed environment where the workload can be handed between mail list servers running for the same list (or family of lists), but if the software is correctly designed and implemented with such a configuration in mind, it would be easy for even very large, very active mailing lists to use a featureful system such as this.&nbsp; For that matter, correctly designed, &quot;centralized&quot;&nbsp;does not have to mean&nbsp;&quot;not highly available&quot;, because here I&nbsp;am talking about the service being centralized for a single list, although it would be possible in theory to have the mailing list run on only donated CPU&nbsp;time from volunteers (that said, DNS&nbsp;already makes this possible when combined with a well-planned and well-executed deployment process, though not terribly easily on the IPv4 Internet).</p>
<p>Others state that a centralized setup would take away their freedom to interact with the mailing list in some way: <em>I am saying that this doesn&#8217;t have to be the case</em>.&nbsp; It may be with the way current mailing lists are implemented, but it doesn&#8217;t have to be that way at all!&nbsp; <em>And</em> it can be done in a way that is intuitive&#8211;or at the very least, makes sense to users and is easy to learn, if not 100% intuitive.</p>
<p>Again, however, the motivation at this point is a high-level conversation that seeks to be gradually refined into lower and lower levels of abstraction until the final product is source code that can be seen and examined.</p>
<h2>Motivation</h2>
<p>Why am I motivated now?&nbsp;&nbsp;Because it is plain as day that a universally applicable solution <em>can</em> be made to exist, and it&#8217;s even clearer that there&#8217;s no reason for it not to.&nbsp; I&nbsp;<em>don&#8217;t</em> expect that this would be an overnight process, but I&nbsp;think that given ample discussion and interest, we can figure out a way to make <em>everyone</em> happy, even those that are way out with the extreme corner cases.&nbsp; After all, there is <em>no</em> reason that systems cannot serve both complete end users <em>and</em> extremely adept technical users seeking to use every available feature.</p>
<p>In short, I&nbsp;think it&#8217;s time for a change in the way we think about what mailing lists are and how they work, and I&nbsp;think that it&#8217;s time that we consider how to make them useful and transparent to us, all of us, regardless of technical knowledge or background, regardless of the end user&#8217;s stringent desire to follow RFCs, and without having to be concerned about everything the system can do (while knowing that if you want to learn about all of the features and use them all, you certainly could).&nbsp; I think it&#8217;s time to drop the assumptions that we&#8217;ve made for the last several decades with regards to mailing lists and redefine them.</p>
<p>So, who is interested?</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2009/10/14/on-mailing-list-management-software-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>When is it GNU/Linux and when is it not?</title>
		<link>http://mike.trausch.us/blog/2009/09/30/when-is-it-gnulinux-and-when-is-it-not/</link>
		<comments>http://mike.trausch.us/blog/2009/09/30/when-is-it-gnulinux-and-when-is-it-not/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 22:32:58 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=568</guid>
		<description><![CDATA[Of the many controversies in free software, this is one that I&#160;have long found to be interesting.&#160; People seem to define things in different ways, which leads to confusion (and arguing)&#160;when one person calls a system a &#34;GNU/Linux&#34; system and the next calls it just the &#34;Linux&#34; system.&#160; Too often, I&#160;have found people saying &#34;You [...]]]></description>
			<content:encoded><![CDATA[<p>Of the many controversies in free software, this is one that I&nbsp;have long found to be interesting.&nbsp; People seem to define things in different ways, which leads to confusion (and arguing)&nbsp;when one person calls a system a &quot;GNU/Linux&quot; system and the next calls it just the &quot;Linux&quot; system.&nbsp; Too often, I&nbsp;have found people saying &quot;You must <strong><em>always</em></strong> call it GNU/Linux, Linux is nothing without GNU!&quot; and this is simply incorrect.&nbsp; So, here I&nbsp;try to spell out the issues and when something is &quot;GNU/<em>anything</em>&quot; and when it is not.</p>
<h2>Question 1: What <em>is</em> an operating system?</h2>
<p>Here is a (very partial, heavy on the Unix-like systems) list of operating systems:&nbsp; GNU, FreeBSD, OpenBSD, NetBSD, Microsoft Windows, Mac OS, XENIX, AIX, OS/2, MS-DOS, PC-DOS, FreeDOS.&nbsp; All of these are full operating systems, though some are more compartmentalized than others.&nbsp; I&nbsp;hear some saying already, &quot;But GNU&nbsp;is not an operating system!&quot;&nbsp; Incorrect.&nbsp; When using the Hurd and a GNU&nbsp;userland operating system stack, that <em>is</em> the GNU&nbsp;system.&nbsp; I&nbsp;hear others saying, &quot;But you left Linux out!&quot;&nbsp; Correct, I did: Linux <em>is not an operating system by itself</em>.&nbsp; Many people are under the impression that the kernel <em>is</em> the operating system, and this is simply incorrect.&nbsp; <strong>A kernel is the core of an operating system, but it is not <em>the</em> operating system itself.</strong></p>
<p>If the kernel is not the operating system itself, what is?&nbsp; An operating system consists of a kernel and software that is used to make that kernel useful&mdash;software that provides the user (or the programmer) with an <em>interface</em> to the kernel.&nbsp; An operating system in the modern sense comprises a kernel and software that surrounds the kernel.&nbsp; In the case of POSIX, UNIX and UNIX-like operating systems, this includes the C library, a set of utilities (kill, ps, ls, cp, mv, rm, sh, and so forth), and more.&nbsp; To compare to Windows, the Windows operating system is <em>not</em> just NTOSKRNL.EXE.&nbsp; That&#8217;s the kernel, but there are a suite of executables and libraries that surround it and provide interfaces to it which make the kernel useful.&nbsp; While it is technically possible to do, law prevents the creation of a &quot;GNU/Windows&quot; or &quot;GNU/NTOS&quot;.&nbsp; It would not be as straightforward as it is to run GNU&nbsp;on a Unix-like system, but it would be possible (Cygwin is as close as it can lawfully get).</p>
<p>So, when we talk about the FreeBSD&nbsp;operating system, we are referring both to the FreeBSD&nbsp;kernel and the utilities and software that make it useful.&nbsp; &quot;FreeBSD&quot; includes  utilities and libraries and all of that, just like the NetBSD or Windows operating systems do.&nbsp; But, Linux does not.&nbsp; When we say &quot;Linux&quot;, we are <em>necessarily</em> talking about only a kernel, the project that is the brainchild of a man named Linus Torvalds and the army of programmers around him.</p>
<h2>Question 2: What is an OS&nbsp;kernel?</h2>
<p>An operating system kernel is the core of the operating system.&nbsp; However, without the rest of the components that build an operating system, a kernel is useless.&nbsp; To make matters more interesting, a single kernel can be used as a component in several different operating systems.&nbsp; This is actually the case for many systems, though it is most prominent in the case of systems that are built around the Linux kernel because there are so many of them.</p>
<p>The lifecycle of a kernel is generally something like this:&nbsp;&nbsp;Set up and initialize itself, load and initialize basic hardware drivers, kick off one (or more) processes that are required to make the system useful, and then loop, handling things like hardware interrupts and system calls from software.&nbsp; In the case of a Unix-like system, the kernel attempts to run a program called &quot;init&quot; (usually on modern systems, this is found in /sbin/init), which initializes userland and starts running services that make the system useful. &nbsp;So a Unix-like operating system provides at least a kernel and an init process, as well as programs for logging in from TTYs (or virtual terminals), manipulating files, processes, and the kernel&#8217;s state, and so forth.&nbsp; If a Unix-like system cannot find an init program, it will halt (panic)&nbsp;or return to firmware where a user could tell the kernel to use an alternate program for init (for example, you can pass &quot;init=/bin/bash&quot; to the Linux kernel, and it will start a single program:&nbsp;bash).</p>
<h2>Question 3: Where is the line between an OS&nbsp;and the rest?</h2>
<p>To answer this question, we must look at several operating systems, and we must be able to know what the difference is between <em>core</em> software and <em>application</em> software.&nbsp; The line can be blurred, of course, especially when the core software depends on certain application software.&nbsp; So in order to more accurately tell the difference, we need to know exactly what the core system uses.&nbsp; A classic example in the UNIX&nbsp;world: some software is used as system software, and is also available for use as application software.&nbsp; A system cannot be called a Unix without some of it, and a system certainly isn&#8217;t Unix-like without it (and remember:&nbsp;Unix is an operating system definition).</p>
<p>For non-technical people, an operating system is a distribution.&nbsp; That is, Microsoft Windows is an operating system as it is installed; Ubuntu, Debian, and Red Hat Enterprise Linux are also operating systems.&nbsp; For those who are more technical, though, the line isn&#8217;t there:&nbsp; the line is somewhere between what is shipped for installation and what is the core system.</p>
<p>Let&#8217;s compare FreeBSD&nbsp;with Linux.&nbsp; A typical FreeBSD system contains the FreeBSD&nbsp;kernel, FreeBSD&#8217;s C library, FreeBSD&#8217;s kernel management utilities, an implementation of init, and implementations of the Unix utilities (ls, ps, cp, kill, etc.).</p>
<p>However, a typical Linux system contains the Linux kernel, the Linux kernel utilities, the GNU&nbsp;C Library, GNU&nbsp;coreutils, GNU findutils, GNU&nbsp;bash, filesystem-specific utiltiies, an implementation of init (could be sysvinit, Upstart, or any number of other ones), and others.</p>
<h2>Question 4:&nbsp;When is it GNU/Linux? &nbsp;When is it not? &nbsp;When is any system GNU/<em>anything</em>?</h2>
<p>The simple answer:&nbsp;most systems <em>aren&#8217;t</em> GNU/<em>anything</em>, but they <em>could</em> be.&nbsp; Take as an example the project to use the FreeBSD kernel (but not the FreeBSD&nbsp;userland).&nbsp; The system <em>cannot</em> simply be called FreeBSD&nbsp;any longer:&nbsp;a significant portion of the FreeBSD operating system is removed when its userland is replaced.&nbsp; The project&#8217;s operating system is called &quot;GNU/kFreeBSD&quot;, not &quot;GNU/FreeBSD&quot; because FreeBSD was a complete operating system before its utilities were removed and GNU&nbsp;implementations dropped in.&nbsp; This would include the GNU&nbsp;C library and the typical things you see in a Linux installation.&nbsp; This also means that it&#8217;s a different operating system entirely!&nbsp; Any piece of software that expects to be built on FreeBSD and assumes a complete FreeBSD&nbsp;system might not even build when using the FreeBSD kernel and the GNU&nbsp;userland.</p>
<p>In the case of Linux:&nbsp; When you&#8217;re using the GNU&nbsp;utilities and core system, it&#8217;s GNU/Linux.&nbsp; When you&#8217;re <em>not</em>, then it&#8217;s not.&nbsp; For example, Android is a distinct operating system from Ubuntu.&nbsp; They both use the Linux kernel, but that&#8217;s where the similarities stop.&nbsp; Android is one example of a distinctly different operating system that shares a kernel with another operating system.&nbsp; Aside from the fact that Ubuntu is most commonly run on x86 or x86-64 systems and Android is most commonly run on ARM&nbsp;systems, if you sat the two side-by-side on the same platform you&#8217;d <em>still</em> have different operating systems that do things differently.&nbsp; This is because Android doesn&#8217;t even use the same C library as Ubuntu; many pieces of software that are stated to work on a Unix-like system such as GNU/Linux or FreeBSD assume a richer environment (closer to that specified by operating system standards).&nbsp; They would have to be <em>ported</em> to Android to run on Android successfully; that&#8217;s a major red flag that says &quot;Oh, that&#8217;s a different operating system.&quot;</p>
<h2>Question 5:&nbsp;Does that mean I&nbsp;can create my own operating system?</h2>
<p><strong><em>Yes</em></strong>.&nbsp; You can.&nbsp; And you can even re-use the kernel from any other operating system that is licensed in such as way as to permit you to do so.</p>
<p>Let&#8217;s think about this in terms of OS&nbsp;X&nbsp;and what Microsoft could potentially do for Windows, as an example.&nbsp; Apple used to have its own operating system called &quot;System&quot;, which was then called &quot;MacOS&quot;, and today we call it &quot;Mac OS&nbsp;Classic&quot;.&nbsp; This system was a cooperatively multitasking operating system that ran software specially built for it.&nbsp; It was very popular, and it was also not as robust as modern operating systems.&nbsp; It was pretty interesting, though:&nbsp;it did not have a command-line interface.&nbsp; Nearly everything that was in the <em>System Folder</em> was the operating system itself, aside from installed fonts, extensions, and system enablers (though often extensions and enablers would patch the operating system in memory, or hook into it in some way so as to attach itself to it).&nbsp; Apple abandoned that system years ago for OS&nbsp;X. &nbsp;They took a BSD&nbsp;kernel and wrote a stack around it, reusing some components but using a very different architecture to put things together.&nbsp; The kernel for OS&nbsp;X&nbsp;is called Darwin, and it&#8217;s a very important&mdash;in fact, the central&mdash;piece of the OS&nbsp;X operating system stack.&nbsp; But it is not OS&nbsp;X; it is but a component.</p>
<p>How could Microsoft do something like this?&nbsp;&nbsp;Let&#8217;s say that Microsoft went and did something similar, taking the BSD kernel and porting Windows&#8217; software stack to run around it.&nbsp; They also call it Windows.&nbsp; Let&#8217;s say that they modified the kernel to load Microsoft&#8217;s old drivers and that they had incorporated a PE&nbsp;loader and ported their software to this new operating system (but retained API and binary compatibility with their legacy operating system that used a very different composition of kernel and userland, by necessity).&nbsp; Would this mean that they were running FreeBSD?&nbsp;&nbsp;No.&nbsp; It <em>would</em> mean that their operating system were based on (at the very least)&nbsp;the FreeBSD&nbsp;kernel.&nbsp; Though they could keep the FreeBSD stack and package it as a set of extensions to their new operating system, and claim the ability to run FreeBSD&nbsp;(and in a limited fashion, some Linux, if they retain the Linux compatibility mode of the FreeBSD&nbsp;kernel and system)&nbsp;software.&nbsp; Now that would be an interesting market position for Microsoft to be in, wouldn&#8217;t it?&nbsp; Microsoft could even make their new system compliant in some way with POSIX&nbsp;and the SUS and get branded as a UNIX&reg; system.&nbsp; But the new system would be more like Windows than it would be FreeBSD if they didn&#8217;t keep FreeBSD&nbsp;as-it-were, since they&#8217;d likely replace the core stack to fit their desires and needs, like Apple did.</p>
<h2>Conclusion</h2>
<p>I hope that this has clarified things a bit.&nbsp; However, if it has not, a good place to start reading is the Wikipedia articles for <a href="http://en.wikipedia.org/wiki/Operating_system">&quot;operating system&quot;</a> and <a href="http://en.wikipedia.org/wiki/Kernel_%28computer_science%29">&quot;Kernel (computer science)&quot;</a>.&nbsp; They are a long articles, but they make for a great starting point for research and clarification of just what an operating system is.&nbsp; Both articles look at different operating systems (and their kernels).&nbsp; As to whether or not you can determine what an operating system is, you will want to become intimately familiar with <em>many</em> different operating systems (and types of operating systems; there are families of them as people create more and more systems both original and reimplementations of others) before you start trying to figure it out.&nbsp; Look at native code and managed code operating systems&mdash;also realize that the distinction of what is the operating system can sometimes be relatively hard to determine accurately.</p>
<p>If you want to see what a bare operating system looks like, though, check out one of these operating systems&#8217; source code:&nbsp;&nbsp;FreeBSD, NetBSD, OpenBSD.&nbsp; Each of them in their version control systems has the <em>complete operating system</em>, which is much more than just a kernel. &nbsp;You can then, should you want, figure out exactly what packages on a typical GNU/Linux system take the place of the remainder of the operating system.&nbsp; It&#8217;d be an interesting exercise in learning&mdash;if learning is truly what you&#8217;re after, and not just argument.</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2009/09/30/when-is-it-gnulinux-and-when-is-it-not/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>And the Douchebag Award goes to&#8230;</title>
		<link>http://mike.trausch.us/blog/2009/09/24/and-the-douchebag-award-goes-to/</link>
		<comments>http://mike.trausch.us/blog/2009/09/24/and-the-douchebag-award-goes-to/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 21:27:02 +0000</pubDate>
		<dc:creator>Michael Trausch</dc:creator>
				<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[freedom]]></category>
		<category><![CDATA[wtf‽]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[FUD]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://mike.trausch.us/blog/?p=566</guid>
		<description><![CDATA[Richard Stallman.
That&#8217;s right.&#160; Now, there are many things that the man has done that have been effective, and the man has worked hard to ensure that we have freedom in the vast world of software.&#160; But recently, he has stated that Miguel de Icaza &#8220;is basically a traitor to the free software community,&#8221; and no [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Richard Stallman</strong>.</p>
<p>That&#8217;s right.&nbsp; Now, there are many things that the man has done that have been effective, and the man has worked hard to ensure that we have freedom in the vast world of software.&nbsp; But recently, he has stated that Miguel de Icaza &ldquo;is basically a traitor to the free software community,&rdquo; and no matter <em>how</em> much good a person has done, I&nbsp;cannot stand by such a fallacious statement.</p>
<p>What is freedom, people?&nbsp; The two cornerstones of freedom are <em>education</em> and <em>choice</em>.&nbsp; A person who is uneducated cannot choose, and so one depends on the other.&nbsp; Some people will choose to use either free software or proprietary software exclusively, and others will mix the two together, with varying priorities that they place on their choices.&nbsp; As long as people are aware of what&#8217;s out there and can determine what is best for the way they use their own systems, <em>freedom is available</em>.&nbsp; Yes, that means some people may choose to run Windows.&nbsp; Many will not, and if one makes a conscious choice, that is for them to do for themselves.&nbsp; My concern is that people need to know about the choices in order to make a choice to begin with.</p>
<p>Now, de Icaza has done a <strong><em><u>great deal of work for the open source community</u></em></strong>.&nbsp; He&#8217;s one of the key people who has been behind Midnight Commander and GNOME.&nbsp; And of course, Mono.&nbsp; He has given us a great deal of good quality, free software that many people can choose to use, and he has given the ability to use a VM-based runtime environment that previously was not cross-platform, as well, on nearly any platform that can be chosen.&nbsp; The GNU&nbsp;people are even working on a similar one.&nbsp; But this is not the reason that de Icaza is supposedly a traitor to the community.&nbsp; The reason?&nbsp;&nbsp;de Icaza is helping Microsoft out with their new &ldquo;Open Source Labs&rdquo;.</p>
<p>Guess what, Mr. Stallman?&nbsp;&nbsp;The fact that Microsoft is starting to enter the world of free software <em>cannot</em> be considered to be a bad thing.&nbsp; You did a great deal of work to ensure that free software that is adequately licensed can stay that way, and the turn the copyright system around on those who have sought out to corrupt it.&nbsp; You have put free software on the radar around the world.&nbsp; You have done a great many things that others would not have the heart, nor the motivation, to carry out.&nbsp; It would appear, however, your time is up:&nbsp; the world can and will move on without you, and I declare that it is time for you to go away.&nbsp; When you start attacking people in the very world that you helped to create, you become obsolete and no longer serve your purpose.&nbsp; I&nbsp;dub St. Ignucius of the Church of Emacs to be a heathen who has forgotten his message, forgotten his values, and is now a harmful creature; hardly a saint, more like a devil.&nbsp; Overtaken with fits of arrogance.&nbsp; Lately, you have caused a great deal of infighting within the community.&nbsp; As I&nbsp;am sure you are well aware, infighting serves very little useful purpose but to tear apart communities.&nbsp; And now you make a bold, arrogant, and false statement that serves only that purpose, but to an extent the likes of which we have never seen from you.</p>
<p>I&nbsp;say that we shun him&mdash;and his kind. Things are starting&mdash;albeit slowly&mdash;to come around to the way we want them, and he would prefer to attack it.&nbsp; Why?&nbsp;&nbsp;What logical reason is there to do so?&nbsp;&nbsp;Because he&#8217;s not the controller of it?&nbsp; Because it grew to be something that even companies that he helped cultivate an irrational, religious-like hatred of, are beginning to see is useful (not only to them, but to all of us)?&nbsp; What is his new goal, that all software should be GPL&#8217;d and if it isn&#8217;t it is evil?&nbsp; We should not tolerate these sorts of counterproductive behaviors.&nbsp; Stallman has reduced himself to a Schestowitz, a creature who deserves no respect.&nbsp; A troll.&nbsp; I&nbsp;suppose in his old age, he has decided that attention is more important than our freedoms.</p>
<p>Richard Matthew Stallman, you are no longer relevant to our community, our world, the world of people who truly believe in and advocate for freedom, that of choice and that of the rights to study, improve, and distribute software.&nbsp; Thank you for your services, for they were needed to get us where we are today.&nbsp; However, you have chosen to do us no further good, only ill.&nbsp; And for that, I say damn you.&nbsp; Leave the Free Software Foundation and permit it to continue to work for freedom, or take it down and let the GNU&nbsp;project carry on to produce software without all of the utter crap that you have begun to spew of late. &nbsp;I&nbsp;have no problem with the GNU&nbsp;project.&nbsp; I&nbsp;love the GNU&nbsp;project.&nbsp; And I&nbsp;am grateful for the work that you, independently and through the Free&nbsp;Software Foundation, have done so that we can enjoy the freedom to choose a free software system to do our work and our play.&nbsp; But you are no longer helping; you have become a bully, an old troll.&nbsp; You do not help free software any more.&nbsp; Your recent action is a great offense to free software, and very much condemning a road which will lead to more free software.&nbsp; Go away, troll.</p>
<p>Long live freedom&mdash;true freedom&mdash;and free software.&nbsp; And thank you, Miguel de Icaza, for all of the great software that you have given us, as well, for your continued work to make software more useful and portable.&nbsp; May you never wind up irrelevant and petty as Stallman has wound up being.</p>
]]></content:encoded>
			<wfw:commentRss>http://mike.trausch.us/blog/2009/09/24/and-the-douchebag-award-goes-to/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
