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.