On Sun, May 16, 2010 at 12:25 AM, Chris Frey <span dir="ltr"><<a href="mailto:cdfrey@foursquare.net">cdfrey@foursquare.net</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Sat, May 15, 2010 at 11:05:01PM -0400, Khalid Baheyeldin wrote:<br>
> The funny/sad part is that these proprietary applications already support<br>
> multiple platforms that are really different, e.g. Windows, Linux, FreeBSD,<br>
> NetBSD, IBM AIX, HP/UX, ...etc., let alone different processor<br>
> architectures, filesystems (or raw partitions), ...etc.<br>
<br>
</div>The pace of change in Linux is high. I believe it is higher than for<br>
any of the other examples you mention there.<br>
<br>
And the change is not often documented like it is in the others.<br>
Depending on the level you're working at, the documentation is the code,<br>
and the compiler errors are your advanced warning when your driver doesn't<br>
build with the latest kernel anymore.<br>
<br>
Even for a simple project like Barry, which hooks into the udev system<br>
to catch BlackBerries on startup, I've lost count of the number of times<br>
I've had to tweak things on new distros. It's not a huge burden, but<br>
it's often enough that it itches, and infrequent enough that you forget<br>
the details of the solution you had before.<br>
<br>
Similarly, there are the new fads. Hotplug is it! udev is it!<br>
ConsoleKit is it! No, wait, HAL is it! Wait, it's back to udev!<br>
We're sure now!<br>
<br>
These kinds of things happen at the kernel driver level, at the device<br>
management level, and even the audio level. (PulseAudio is it!)<br></blockquote><div><br>Do you think that abandoning the kernel numbering "even is stable, odd
is<br>
development" contributes to that? <br><br>I never liked that new stuff will
always be tacked on to the 2.6.whatever.<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Linux will not bend over backwards to help you avoid change. In fact,<br>
it will actively throw it in your face, on purpose. (Just see the<br>
numerous pleas on the kernel mailing list for stable driver APIs, and<br>
the responses.) This is so far from the Windows mindset that it is a<br>
shock to vendors.<br></blockquote></div><br>We have a fast pace of development in Drupal too, and tend to rip apart<br>and refactor things from release to release (but not for point releases <br>though).<br><br>That refactoring and breaking the API makes moving modules and themes<br>
from one version to the next a pain, but by and large we think the lack of<br>compatibility layers and legacy cruft accumulating from earlier releases<br>is a worthy compromise.<br><br>We have an effort to do semi-automatic upgrades as well (deadwood,<br>
coder, ...etc.). Not there yet, but promising.<br clear="all">-- <br>Khalid M. Baheyeldin<br><a href="http://2bits.com">2bits.com</a>, Inc.<br><a href="http://2bits.com">http://2bits.com</a><br>Drupal optimization, development, customization and consulting.<br>
Simplicity is prerequisite for reliability. -- Edsger W.Dijkstra<br>Simplicity is the ultimate sophistication. -- Leonardo da Vinci<br>