BeOS (and Haiku) has a very powerful filesystem, thanks mostly to its extensive use of attributes and live queries to search through these attributes. In order to access these powerful features over a network, you need a network file system that also supports attributes and queries – cue BeServed, Kevin Musick’s network file system. A few weeks ago, the code to BeServed was donated to the Haiku project as open source under a MIT license, so HaikuNews and OSNews decided to interview Kevin Musick together. In addition, Haiku launched the Haiku Code Drive 2008.The announcement of the code donation on the Haiku website has a very clear description of what BeServed actually is.
BeServed is a network file system with support for attributes, MIME-based typing, indexing, and queries, all features available in the BFS file system as well as the open source version of BFS that Haiku uses. BeServed also features remote shared volume mounting as well as folder sharing management capabilities, giving the end user the ability to manage all their files with the powerful and unique advantages of the BFS file system over a LAN.
The code donated to the Haiku project includes the code of the various servers on other operating systems such as Windows.
Since Haiku already has a fairly complete network filesystem written by Ingo Weinhold (which only works on BeOS at the moment), it makes sense to take the best of both worlds, as Axel Dorfler describes on the Haiku development mailing list. “Since we probably need to rework [Weinhold’s network filesystem] anyway when porting it to Haiku, it might be a good idea to have a look at BeServed, and see if we can reuse the best parts of both file systems, whereever feasible.”
The interview with Kevin Musick was initiated by HaikuNews’ Chris Simmons (Technix in #haiku), but he asked me to join in on the fun and contribute some questions. You can read the entire interview, including Simmons’ questions, over at HaikuNews. Below you can find the questions OSNews posed to Musick.
1. What do you hope BeServed contributes to Haiku?
In any project of Haiku’s size and duration, there inevitably are periods where people can be overcome by the size and complexity of work that remains. Having been disconnected from the efforts of the open BeOS movement for a few years, I have a nice retrospective view of its progress. Consequently, my chief wish is that opening up BeServed could be an opportunity for the team to look back in favor on its tremendous accomplishments and potentially be a catalyst for greater community involvement in the future. Aside from those lofty things, I certainly hope that it has some value as a general-purpose file and printer sharing infrastructure. If not, perhaps the underlying proprietary remote procedure call interface has some potential.
2. What was the ‘final straw’ that made you give the code to Haiku?
I haven’t had the opportunity to work on the BeServed project in several years, and it seemed such a shame to waste all that effort. When I realized the progress that had been made on Haiku, I was hopeful that the team could put the code base to better use than I could.
3. Was BeServed a success back when Be was still operating?
That depends on your evaluation criteria. I’d say that I achieved the obvious goal of enabling network file sharing from within BeOS, though there were still some stability and performance improvements in flight when I was no longer able to sustain development work. Additionally, it was originally intended to serve as thesis paper research, and given that my work was well received by my academic sponsors I’d say it was successful from that standpoint. However, it can’t be regarded as commercially successful. While I covered the costs of its development, I profited only a few pennies per hour of work. Had the technology been acquired by Be, Inc. then perhaps the pro forma would be more compelling.
4. Do you see a possible solution for the attribute problem (where other operating systems disregard BFS attributes)?
I tinkered with an implementation of attributes on Linux that used a Berkeley database file to store attributes, using the local inode number as a key value. This was a rather makeshift solution that I never had the opportunity to evaluate using sufficiently busy networks and large file systems.
5. Do you see any future for yourself in the Haiku world?
I can’t completely close the door on that given my longtime interest in operating system research. However, I’m sufficiently tied to other initiatives at this point that will preclude any involvement in the near future.
OSNews would like to thank Kevin Musick and Chris Simmons for making this interview possible.
Haiku Code Drive 2008
Haiku got assigned five slots in Google’s Summer Of Code, but since Haiku received more than five applications, they had to narrow their choices down, so people got turned down. To remedy the disappointment, Haiku has set up the Haiku Code Drive 2008.
The idea is simple. Haiku contacted the students who were turned down, and asked them if they wanted to carry out their proposed project for USD 2500, resulting in this list. It’s now up to you to fund the program.
I am going to go load this on my 8500 Mac for old times sake. There is a great deal of BeOS applications begging to be released in some OSS fashion. Thanks to the author for giving the code to the community. I always enjoyed it back in the day
Nick
BeServed doesn’t run under PowerPC. I started porting it, but the code assumed all clients were little endian and I didn’t get a chance to fix all the bugs. This was in like 2001 or 2002 or so.
While it’s great to see Haiku news, shouldn’t the “Haiku Code Drive 2008” article get some publicly here? It’s a rather commendable goal… bringing on students that didn’t quite get accepted as part of the Google Summer of Code event.
How about you try again and get it right this time Thom?
Will you please stop using the word “cue” in _all_ news items? It’s getting annoying. At least type define:cue into Google before using it further.
All?
Looking at the current front page, only two newsitems use the word ‘cue’. So, your point…?
Oh, and technically, there’s nothing wrong with using ‘cue’ in the way that I did in those two items. In most contexts, a ‘cue’ is a signal for something to begin, words to be spoken, or actions to be taken. In this particular item, for instance, the need for a network filesystem is the cue for BeServed to come on stage – cue BeServed. The need for a NFS cues BeServed to come on stage.
Edited 2008-05-18 10:21 UTC
> Looking at the current front page, only
> two newsitems use the word ‘cue’.
Because a lot of the other items were written by David Adams…
Edited 2008-05-18 14:36 UTC
Thom, I have to agree, your use of “cue” is excessive and somewhat out of place.
Dictionary.com
1. anything said or done, on or off stage, that is followed by a specific line or action: An off-stage door slam was his cue to enter.
2. anything that excites to action; stimulus.
3. a hint; intimation; guiding suggestion.
4. the part a person is to play; a prescribed or necessary course of action.
5. a sensory signal used to identify experiences, facilitate memory, or organize responses.
6. Archaic. frame of mind; mood.
– verb (used with object)
7. to provide with a cue or indication; give a cue to; prompt: Will you cue me on my lines?
8. to insert, or direct to come in, in a specific place in a musical or dramatic performance (usually fol. by in or into): to cue in a lighting effect.
9. to search for and reach (a specific track on a recording) (sometimes fol. by up).
IMHO Thom’s use falls under #1 and #4, possible #8 – the first sentance sets up the scenario, which is the indication for the item after to ‘enter the stage’… on top of which it is written in conversational prose, where such uses are commonplace and acceptable.
Dictionary man, dictionary. I would suggest the use one instead of google ‘define’ – combined with a understanding of grammatical prose styles – before complaining about someone elses command of the language.
I mean hell, at least it wasn’t “speaking the engrish moist goodry” like most sites and posters these days.
Edited 2008-05-20 18:16 UTC
I think that it is a great idea. Hopefully progress will be made to add the code in and make a better FS for Be/Haiku.
I just hope that lots of people donate for the funding of the Haiku Code Drive.
I have to admit, i have not use BeOS since BeOS MAX was around, although for about 1 year i had hardware that was so old even the best of Linux distros would seem slow on it, so i through BeOS MAX on it and the hardware responded well to it.
that is to say, it could boot, i could do reports on it, and sure the internet with a firefox build.
> 4. Do you see a possible solution for the attribute problem (where other operating systems disregard BFS attributes)?
Actually most of the time (when some fool didn’t disable it) xattr support is enabled in Linux. And NTFS also supports them (just even Microsoft forgot about it).
But they aren’t compatible with BFS ones, so a mapping must be designed, that is stable with respect to calling itself (idempotent, ie. coying back to BFS whatever the way doesn’t deviate from the original ones).
Edited 2008-05-18 22:41 UTC