View Single Post
  #7   (View Single Post)  
Old 9th April 2011
thirdm thirdm is offline
Spam Deminer
 
Join Date: May 2009
Posts: 248
Default

I never use compatibility layers for anything, so sorry if I'm unsympathetic.

I think effort spent on compatibility layers or effort to keep something like ffs compatible between forked BSD projects is wasted effort. It's the sort of thing you'd need to be paying developers for and more than that would have it be part of their job requirements that they maintain such an interface across every release with a formal QA organization checking up on them. Since the other projects you'd be maintaining compatibility with are changing too, it would be a frustrating requirement even if you were being paid and had organizational support.

For a project like OpenBSD, it's completely the right thing in my opinion for them to throw away these compatibility layers whenever they want and to tell users in clear terms that they shouldn't expect to use FFS filesystems or disklabels from other BSDs under OpenBSD and expect it to work.

Furthermore, this is a case where giving a patch isn't enough, you (and some other people?) would have to be in it for the long haul. If you give them a patch to keep up some small part of the compatibility layer, what should they do with it? They could take it and hope that more patches will come so that they'll more or less keep something sort of working. Or they could say to themselves that they don't like offering half-working flaky solutions that aren't long term sustainable and suggest that anyone wanting such a compatibility layer gather their own project together with other interested parties and maintain it themselves outside the main tree. If I were doing an OS, I'd at most offer some simple mechanism that redirects system calls so that the layers could be done as userland libraries and suggest anyone wanting such a thing start something up on github or whatever their preferred place for putting their code is. It's the sort of thing that ought to be in the ports system, not in the main tree.

Seems to me in this they're actually less idealistic and purist in how they've approached it since some of these layers still exist. I guess some of their developers must have used them for something once upon a time or use them now.
Reply With Quote