User: Password:
|
|
Subscribe / Log in / New account

Choosing between portability and innovation

Choosing between portability and innovation

Posted Mar 2, 2011 20:51 UTC (Wed) by rfunk (subscriber, #4054)
In reply to: Choosing between portability and innovation by mezcalero
Parent article: Choosing between portability and innovation

While I agree with the idea of making use of what Linux provides, especially in low-level software, what you said in this particular comment is wrong in an incredible number of ways.

For one thing, your historical interpretation dismisses the fact that Unix was expressly written in a portable language, which was revolutionary at the time, and without that would never have gone beyond DEC minicomputers. It also dismisses the benefits that occurred specifically because of forks/reimplementations such as BSD and Linux. You seem to think that Linux is the pinnacle of Unix evolution, and beyond it is nothing but better Linux, which seems rather short-sighted to me.

Alternative implementations of parts of a system improve the longevity of the system, since different implementations may end up adapting better to new circumstances down the road.

Portability has mattered to the free software ecosystem since day one. Just like no one company has all the best programmers, no one operating system has all the best programmers either. We can gain from people on the BSD platforms, and they can gain from us. Remember that much Free Software started on Solaris or other non-Linux platforms, and even now MacBooks are becoming increasingly popular as programming platforms, and there's no reason to shun those people. The Free Software Foundation releases software portable to Windows (with great derision from the OpenBSD folks), treating that software as a gateway drug to help lead users away from Windows.

Yes, we should take advantage of advancements in Linux, and push for more, but we also shouldn't completely throw away portability.


(Log in to post comments)

Choosing between portability and innovation

Posted Mar 2, 2011 21:04 UTC (Wed) by boudewijn (subscriber, #14185) [Link]

Erm... Unix was written C to be portable between various kinds of hardware, right? Not between various kinds of Unix. Linux is fantastically portable between various kinds of hardware, and so is Linux software. Even if I, as a stupid application developer am thankful to receive the odd Arm patch for my code...

Choosing between portability and innovation

Posted Mar 3, 2011 9:18 UTC (Thu) by roblucid (subscriber, #48964) [Link]

Look at Linux history and you'll see feature sets applications depend on changing. Programs written to POSIX and keeping out of system details haven't needed much maintenance.
Those sacrificing portability and delving too deep, are those pesky things that keep breaking.

What's needed is a kernel/user space cooperation to develop good useful APIs, and make them easy to use for applications that can be later emulated on the BSDs with a different underlying implementation.

If it proves very difficult to write another implementation, it probably suggests that the API is a crock of **** and won't stand the test of time, and the ever onward march of progress. But be an ossified handicap to future progress. Good abstractions are things that can be built upon.

Choosing between portability and innovation

Posted Mar 2, 2011 21:05 UTC (Wed) by mezcalero (subscriber, #45103) [Link]

Don't mix up portability between CPU architectures and between OSes. This article is about the latter. Portability between CPU architecture is relatively easy and unproblematic in userspace, and much less of a headache (unless you hack assembly). I have no issue with CPU portability.

Choosing between portability and innovation

Posted Mar 2, 2011 21:19 UTC (Wed) by rfunk (subscriber, #4054) [Link]

In the Free Software world, I actually think the two types of portability are similar, have similar benefits, and both important; they're both platforms on which our code runs, and ideally can be swapped out underneath. But only one sentence of what I wrote was about CPU portability.

Choosing between portability and innovation

Posted Mar 2, 2011 22:36 UTC (Wed) by airlied (subscriber, #9104) [Link]

The thing is application portability support came about more likely because of fragmentation than as a means to allow fragmentation to happen.

Choosing between portability and innovation

Posted Mar 3, 2011 9:31 UTC (Thu) by roblucid (subscriber, #48964) [Link]

The ATT & BSD strands of UNIX diverged on features that were innovated like :

1) Reliable Signals
2) Virtual Memory
3) Shared Memory / Semaphores
4) Streams
5) FIFO's
6) TERMCAP & curses(3) (re-implemented by ATT as termlib with enhancements)

Given the widely perceived fragmentation of Linux distros, with tweaked features sets, for instance deb v rpm, it's naive to think you can write without regard to portability. Even with FHS, applications end up having to account for cosmetic differences between distros.

Portabiity is a requirement, otherwise you prevent change and innovation, and trust me you would not get much done stuck on Version 6 UNIX.

Look at the problems discussed with move to IPv6 last month!!! Portability allows the whole FOSS ecosystem to evolve and adapt.

Choosing between portability and innovation

Posted Mar 3, 2011 23:49 UTC (Thu) by jmorris42 (guest, #2203) [Link]

> Portability allows the whole FOSS ecosystem to evolve and adapt.

Amen. Without portability we wouldn't where we are now. More importantly, we will eventually be boned without it. Sooner or later Linux comes to the end of the road. The landscape will eventually change such that someone will realize it is time for a total redesign of what an OS is and if nothing is portable that new effort will fail, leaving us in a dead end to wither away.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds