Hans Reiser Speaks Freely About Free Software Development
1) Guideposts? - by TopShelf
Having obtained financing for the project, how does that impact the future direction of development? How do you balance the interests of developers, users and sponsors to choose which updates to pursue?
Hans:
There will always be more features that I would like to implement than I can implement. Users and sponsors for the most part want good things to be added, and it is really not so bad to first implement the features that someone is willing to pay for, and hope that in a few years someone else will pay for other features. I take a 30 year perspective on the project, and I have as my final objective the elimination of reasons to not use the filesystem as the unifying namespace of the operating system. That makes for quite a lot of features that I am willing to add.;-)
There is an common situation though where pressure from sponsors is severely negative, and that is when they want a quick hack that meets their needs but lacks elegance. It is not usually the features they want that are wrong, it is the timeframe they want them in and the shortcuts they expect to be made to meet that timeframe. This happened with ACLs and extended attributes for instance. I turned away 4 different sponsors for ACLs before I was lucky enough to find DARPA.
All of the commercial sponsors wanted some quick hack that would not be consistent with the semantics I am evolving ReiserFS towards, and would leave us with unwanted additional primitives. To DARPA I proposed that filesystem designers were not providing security researchers with the right infrastructure that they needed, and this lack of the right infrastructure was leading to inelegant hacks. For instance, I argued that there was no need for extended attributes, that instead there was a need for *files* that
1. were efficiently accessed many at a time (new system call that reads and writes many files in one call)You can probably imagine small appliance vendors not being willing to wait 18 months and spend lots of money when all they want is for ACLs to work well enough that they can sell a samba server, yes?2. were accessed atomically (transactions infrastructure)
3. had constraints on their allowed values not just who can write to them
4. inherit some contents/metadata from other files/directories (note that streams share a common metadata)
5. could be made invisible to readdir
6. could be both files and directories depending on whether you accessed them as files or directories
7. could be implemented via a rich plugin infrastructure that allowed one to compose new plugins by selecting methods from already existing plugins, and only writing from scratch that which was truly unique to the plugin
8. efficient storage of small files (V3 was suffering a performance loss when tails were turned on (that is, when small files are packed several to a block) that V4 cures)
With DARPA, if you advance the field of security research by developing along an angle the proposal reviewers thought was interesting, it is enough to get the funding. It is easy to think that private industry is sufficiently well motivated to fund long-term research, but unfortunately long-term research tends to benefit a lot more than just its creators and funders, and only the government funds work whose benefits will be mostly diffused throughout society. Or at least that is one theory to explain what happens. The observed reality is that venture capital does not fund long term research, persons wanting to do long term research mostly must pursue government funding, and the readers are encouraged to suggest other explanations of that if they have them.
I would be curious to know if privately held companies without plans to go public (such as Namesys) generally tend towards more long term research. Surely society needs long term research.;-)
DARPA is really quite excellent to work for. Having the right customer is very important to the development of a product, and I learned an enormous amount about serious approaches to security that I would never have learned without participating in their environment. Their accounting requirements are exacting, but it all has a reason, and for each requirement you can easily imagine the taxpayer being abused by someone without it. Actually I was a bit reassured as a taxpayer about how the DoD spends our money by seeing them in action, and being a small company we learned a lot about generally good professional accounting practices by adopting their requirements.
2) Good business planning - by mao che minh
Did you embark on this project in hopes of making a profitable business? It certainly seems that way, considering that you went looking for sponsorship and even planned pay-per-incident support, showing that you were prepared to work the whole "support revenue" angle.
Now you just need to hire someone to desire a modern, more "commercially pleasing" website. =)
Hans:
We make enough from pay per incident at www.namesys.com to support 1/4 of a programmer, and monitoring all requests to ensure that a professional response is always given consumes some of my time. This revenue is steadily growing though, but since we make so little money from it we don't bother with trying to charge a lot ($25 currently), instead we just hope that word of mouth will make it continue to grow, and maybe in a few years it will become something more significant. I think we were key to deflating some of the excessive per incident support rates that were out there for Linux, and this is good, because who can afford $250 to be told how to make Xwindows work?
Where I had originally planned to make money was by using Linux as a market sampling methodology while selling to OS vendors. That a bunch of hackers who had written software I used myself would get to use it for free was ok with me, and a product that was used by the OS vendor's engineers at home would be an easier sell I thought.
Unfortunately, paying money just to catch up to Linux does not seem to excite OS vendors, even if in reality it is very important that they do so. It is theoretically irrational but reality real that the proprietary OS vendors have not yet bought a license.
Instead, I have sold to storage appliance startups who need a code base to start from, and this has been slightly more than half of our income.
We have only sold one priority support contract (this is where you have the right to wake us up and you pay in proportion to the amount of hardware you have), but we sold it to Lycos, and they keep doubling their usage of ReiserFS every year and increasing the contract accordingly. They have been very happy with the support we provided. This one contract is much larger than all our pay per incident fees combined, and thanks much to Lycos for being a customer.
It would be nice if I could sell some government a nice ReiserFS support contract....
Many users don't realize it, but we don't make a lot of money here at Namesys, the programmers are very much overdue for pay raises, and there are many good people I can't hire because we have no funds for it. Hopefully this will change though as ReiserFS increases its technical lead over other filesystems with time. Reiser4 is going to give us some very compelling performance and security advantages, and we will be the easiest filesystem to hack on thanks to the plugin infrastructure. That infrastructure is really going to accellerate development by a lot, and provide us with a compelling competitive advantage. It is interesting to watch Nikita casually toss together a couple of plugins in an afternoon when it suits his whimsy. We can already see how much easier it is going to make doing the semantic enhancements we have planned, and then once we have the semantic enhancements out there and in use, performance will no longer be the primary decision point for users.
As for the website, by "commercially pleasing" I assume you mean using bland and uninteresting graphics, and corporately styled, with lots of insincerity everywhere.;-) Forgive me if I read too much into your comment, but you would not be alone if I read you correctly.
It is important to be true to oneself. You should maybe understand that some years ago I put the suit my mother bought me into the fireplace along with all my ties. If a restaurant requires a suit and tie, I just don't go there, it is not for the likes of me. If you need some corporately commercial justification for our website design, then let it be that I am willing to be cool and appealing to the younger generation, etc., instead of bland. If a pedagogical justification will work for you, then let me point out that military manuals with their cartoon based approach are far more effective in engaging the reader than the pedagogical techniques employed by most college textbooks. The military is more advanced in its pedagogical technique than the university system, which is really rather amusing, and I think it is due to the greater pretentiousness of universities in this matter.
3) Versioning - by tjansen
Beside the finding and organizing files, the biggest problem for desktop users today is probably that changes on the file system are not recoverable. It is easy to accidentally overwrite a file and lose your work, and the only only sane way to solve these kinds of problems would be to make it possible to revert changes.
Several research systems have been created, like the Elephant File System, but none of them made it into the mainstream free and commercial operating systems. Are there any specific reasons why nobody offers recovery (high complexity in implementation, very bad effect on performance, etc) or is it just because FS designers don't see the need for it?
Hans:
Actually, there is a version control filesystem called Clearcase that costs thousands of dollars per seat. (If I wanted to make more money, I could return to working as a Clearcase sysadmin --- there are some jobs that pay very well because nobody wants to do them.;-) ) Clearcase was written a bit too quickly, and its performance sucks as a result (though I am told that has improved since I left that field). If it used Reiser4 as a backend it would be a lot quicker.
Version control definitely belongs in the filesystem. Clearcase may have a lot of implementation uglies, but as a concept it clearly works. Filesystems manage files, and that should include managing file versions. Our support for transactions and compression should make it easier to implement version control in Reiser4. As soon as someone offers to sponsor it, we will do it.
Larry McVoy makes a lot of arguments about how the economics of version control means it has to be expensive. I think this would not be true if three things changed simultaneously: 1) it was integrated into the filesystem, 2) it was free, 3) it was easy to understand for average users. For 3) to be true it has to become as easy as, say, .snapshot directories on a NetApp are, for the average user. It should also be as well integrated into apps as version control is in MS Word. I predict that in 20 years version control in filesystems will be standard and expected by all users as a basic feature.
4) Filesystems and metadata by androse
In your Future Vision white paper, last modified in January 2001, you outline several very interesting ideas about metadata.
Several developements have taken place since; the extensible attributes of BeFS has been buried with BeOS, the database-like metadata of Longhorn (aka Yukon) may actually be a separate layer from the filesystem altogether, and Apple is also moving all metadata out of the filesystem to XML files shared between applications (see iLife package).
My question: What is your current take on the metadata debate? Do you still think the filesystem is the right place to handle metadata? Any predictions?
Hans:
Reiser4 required some fundamental breakthroughs in tree balancing technology before small files could be combined into one block without adding additional seeks for typical usage patterns. In particular it required discarding the BLOB paradigm, recognizing that BLOBs unbalance the tree, and creating a new more height balanced tree. (See www.namesys.com/v4/v4.html) It does not surprise me that the other filesystems failed to find these techniques; until we had benchmarks no one but me on the team thought this new stuff would work. I think you can reasonably assume that MS abandoned its efforts to put the database into the filesystem because their algorithms failed to deliver good performance. Without these techniques, extensible metadata causes performance problems that constitute a market entry barrier.
I should be careful in my phrasing here: Reiser4 does not support attributes, it merely supports files that you can choose to use for metadata, and its files have all the functionality you need for doing the usual metadata tasks should you choose to use them that way.
Oh, and BeFS is probably not all that dead, Dominic Giampaolo the author is working for Apple now, and since he is very bright and capable there are likely to be interesting things coming out of Apple in the future (probably not called BeFS though).
5) Researching filesystems - by ProteusQ
I'm going back to school this fall, and in a year I hope to be admitted into a Masters of Computer Science program. I'd like my main research focus to be on filesystems.
I'm preparing by reading everything I can find: I'm working on Tanenbaum & Woodhull's "OS Design & Implementation"; I've read "Design and Implementation of the Second Extended Filesystem"; Steve Pate's "UNIX Filesystems" is waiting on my shelf; and of course, there's the FAQ and ReiserFS v.3 Whitepaper at www.namesys.com [namesys.com]. Specific questions: what branches of math are useful in this line of research? Any books, articles, etc., that I haven't listed that are a 'must read' or 'should read'? Those who have succeeded in building a better filesystem: what have they done that I should also do? Any mistakes I should avoid? Anything that no one told you about filesystems that you wish you had known up front? And are there any special tricks (above and beyond mastering your subject) to getting hired in this field once a degree is in hand?
Hans:
I was never able to get hired in this field, so I am probably not the one to ask about how to get hired.;-) Hmmm. Oh I know one! Don't tell your potential employer that you are working on your own file system nights and weekends, and you will retain all rights to it, and you won't stop work on it once they hire you.;-)
You should probably read about Plan 9, and about namespaces generally. The literature on namespaces seems to be just about hierarchical namespaces, but the notion present in that literature that they should be unified is a good one. I rather liked Gerard Salton's book on automatic text processing. Ted Nelson's Xanadu project was interesting reading, and you'll want to read Codd and Date about databases. Mikhail Gilula's book about set theoretic databases is a good one.
In regards to math, study the design of new mathematical models. Study closure, and its importance to various models ranging from algebra to relational algebra. Understand why mathematical models were designed to have the structure they have rather than learning what those structures are, so that you can learn to construct your own models. I don't know of any courses that teach that, but it is what is important to learn.
Are you sure that it wouldn't be better to hang out in cafes and bookstores for 4 years, and at the end of it write some piece of a filesystem? Cafes, bookstores, and attending random seminars will educate you better, and writing some piece of a filesystem will employ you better.
If only one could get student loans for the purpose of hanging out in cafes and bookstores for 4 years I would have been so happy....
6) where next? - by wfmcwalter
Hans,
Reiser FS is already a pretty mature, stable, usable product. Once V4 is done, is there really much work left to be done on ReiserFS proper? Do you have a giant to-do list that'll keep you and the guys occupied for years, or do you intent to work in a diffent direction (SAN, networkFS, databases, etc.)?
(or perhaps you'll just retire to Portugal and play lots and lots of golf)
Hans:
V4 is a local host storage layer. V5 will make it a distributed storage layer. V6 will enhance to the semantics to where one can do semi-structured data queries. Whether V5 or V6 comes first depends on funding.;-)
A new model for doing semi-structured data queries was my original goal, and it remains my primary goal, and the storage layer was just a necessary prerequisite to getting there. I describe the enhanced semantics I plan at www.namesys.com/whitepaper.html.
7) Starting Large Free Software Projects - by unsinged int
When you began a file system project as a free software project, you must have known that (assuming it worked) it had the potential to turn into a big project. How did you determine how long to work on it as your own project before making the first release? I imagine there must have been a strong temptation to just get it "out there" knowing its potential, yet certainly releasing too soon would make it look unprofessional and thrown together.
Hans:
When something becomes stable enough for you to use it yourself without it crashing, and you don't know how to make it crash, you should release it (with lots of warnings). Fortunately, there are people who like to play with technology, and they will help you find its bugs while understanding that it is still experimental code. Each order of magnitude increase in the number of users will find as many bugs as the previous order of magnitude. After some number of years, if you are kind to your users and only do new features on a new branch, the stable branch will get to where months go by and there are no bug reports at all even though there are millions of users. It was this way with V3, and it will soon start to happen with V4.
8) Raising Awareness - by blinder
One question I always have with regards to successful (meaning funded, wide acceptance, large user/developer community etc.) is how did you raise the awareness of your project to get it from just a side project to something that it is today?
Did you use traditional PR techniques, or just through a community of connections?
Hans:
There are two things that work, and not much else does:
1) Word of mouth from users brings people from seeming nowhere.Heinz wasn't able to get the time of day from the ext2 team, and he needed a resizer for LVM to happen. We said yes, sure, we'd be happy to do it. He introduced us to SuSE, and SuSE paid us $5k to write a resizer. That led to SuSE becoming a sponsor, and then once we were stable they made reiserfs the default filesystem.2) Being open and eager to make a bit of effort to work with people makes you friends or at least allies.
Word of mouth from the users is the most powerful tool free software has. If you combine that with being open, willing to work with other people, and not being an exclusivist, things happen randomly out of nowhere that keep your business alive.
The only times I am not eager to work with people are when I think their technical direction is wrong (e.g. extended attributes), and this is sometimes the significant short term price paid for having clean design.
9) Rules of thumb - by realnowhereman
In your future visions paper early on you talk about Reiser's Rule of Thumb #2. However, I can't find Reiser's Rule of Thumb #1 -- what is it? Is it a secret? Does it contain the sum of all human knowledge?
Hans:
I think it was this, and when I write a book in a few years, I think I had better go looking through some of my old versions of that paper, because it used to have a lot more design principles in it, and I cut them in some ill-conceived effort to reduce the length for some reason I no longer clearly remember. For the convenience of readers I have included the entire context of it.
The Little Inconveniences Dominate What We Do10) On being one of those "outspoken" people - by salmoDo the small inconveniences caused by fragmentation of name spaces really add up to something that should dominate the design concerns for the name spaces of an OS?
Information Diffusion Rule of Thumb: The extent of information diffusion is divided by the effort required to navigate the name space.
Information owners tend to think of the cost of access as only subtracting from the value of their information. but it does much worse, it divides it. The economics are little different from what they would be if money rather than time were the cost, and since we all know that halving the monetary cost of a silicon chip more than doubles its usage, it should seem reasonable to the reader that halving the time cost of a piece of information would double its usage. Three seconds rather than 1/3 second of access time means that the same information will spread to an order of magnitude fewer people, be used by them an order of magnitude fewer times, and be an order of magnitude less useful to the organization as a whole. A common mistake by authors of information is to not realize that most of the total utility of their piece of information will be felt by those to whom its utility is either rather small, or for which its value is speculative to the person considering accessing it. The other common mistake is to not realize or care how much harm will be caused by others expending the time cost of accessing their information only to find it irrelevant. Since we all have limited lifespans in which to do our research, time spent accessing rather than reading information detracts from our ability to wander speculatively after information that might be useful. The quality of the name space design determines these costs.
Example of the evils of name space fragmentation at work: Every employee must create a job description, and then store it in the dreaded Hyped Document Storage System for easy access by all. Mr. B. Bizy just enters HDSS, types Bizy duties, and it pops onto his screen inside a full blown Hyped Editor with lots of features. Easy. Unfortunately the only editor he knows how to use is emacs. Emacs doesn't know how to navigate or edit Hyped Indexes. He takes a moment to swear at the paucity of features possessed by emacs, and then he spends fifteen minutes paging through the Hyped manual. Finally he figures out how to put the document into a file. He edits it using emacs masterfully to achieve a new level of job description ambiguity, and puts it back in HDSS.
His boss comes by, sees him working on his job description, and tells him to compare the list of employees, as entered into the REGRES payroll relational database, to the list of those who have entered a job description into HDSS, to make sure everyone is complying with the "describe your job" directive recently issued. Unfortunately, HDSS is a keyword system and REGRES is a relational system. Neither HDSS nor REGRES can use each others' indexes, and while he could write a program to compare the output from the two applications, he can eyeball the output from the two faster than he could write the program. His eyeballs grow tired.
In general, whenever Mr. B. Bizy wants to act on information namable within one application and operate on it with another application, he must extract it from the first application into a file (at best a pipe), sometimes he must hand massage it into a form that the other application can enter into its own database, then he must put it into the second application, do his work, re-extract it, possibly massage it some more, and finally put it back into its original application indexes. It is never a thoughtless read or save, though it is always tedious. Mr. B. Bizy would prefer to spend his thoughts on other activities.
This is why most of the time the employees of Mr. Bizy's company store most of their data in flat files in the semantically impoverished filesystem: the greater connectivity pulls them there.
Mr. Reiser, first off I have no complaints about ReiserFS (which is a high compliment), I use it on almost all my machines, except a couple are running EXT3 because they're not heavily used and I'm lazy at times. But thats neither here nor there.
You fall into an interesting subcategory of project managers or whatever you want to call them. I'll call it the "outspoken genius" category (even though the first word might be understated and the last is probably hyperbole). Basicly your work is technically interesting, applicable, etc. That's a give in. But there are quite a few people who have personal issues with you and your manner and usually cite some exchange or another. Sometimes this is the basis of an argument to reject the use of your work, which I think is somewhat silly. You're not the only one, and certainly not the first to be interviewed here.
So what do you think about this? ie. Do you think you made interpersonal mistakes that landed you here or do you think you've been misunderstood? Does it bother you? Why do you think people enjoy egging on folks such as yourself and then citing the moment you get annoyed with them? Do you think this question ever has a prayer of being moderated higher than someone following the method of the previous question?
Jeeze, I realize I just wrote an essay question in the style of one of my old Philosophy professors. You know the kind, here's a statement now write some stuff (I guess I'll give you a few ideas of where to go).
Hans:
I am not a genius, I am just never satisfied and very very persistent. I approach science like a blind man with a stick who is determined to fully understand what is going on. The difference between me and my competition is that I poke more than they do. I observe, find something to be unsatisfied with, try something to fix it, most of the time it fails and I try again. You don't see the failures because they don't get released. Why haven't other people already fixed the traditional balanced tree algorithms and made them effective enough for storing files? Because it was too much work, and they were smart enough to avoid the work, that is all. We simply rewrite more times and more deeply than others do, and that is how we get our results in our admittedly obscure field.
Now if you think about it, who wants to be around a blind man with a stick, someone who keeps insisting things aren't good enough and they need rewriting?
There is yet another way of looking at it though.
Linux is an ecosystem, and in this ecosystem there is fast growth vegetation and slow growth vegetation. The fast growth vegetation are the people who took what had already been done by Unix, and without changing its design they copied it while making coding improvements.
Then there are those who look at Unix, err, Linux, and see something just barely begun that needs a complete overhaul. These are the slow growth vegetation. Namesys is slow growth vegetation that got started a long time ago.
Now it is human nature that however a human being is, he is inclined to think that is the right way to be. There are those who think that design does not matter, and one should just make incremental coding improvements. There are also those who think that just coding without introducing fundamental new ideas is unimportant. Both of these sets of persons are fools. To say that one approach is better than another is like saying that grass is better than trees, or trees are better than grass. For Linux to prosper as an ecosystem it must have both.
Unfortunately the fast growth vegetation is actually developing a culture of exclusion, kind of like grass working to strangle the tree seedlings. Linux is developing more and more of an insider circle. Those who cannot code well enough to survive on the merits, must politick to exclude the threats....
A sad thing about this is that the most talented young security researcher I know doesn't want to develop for Linux because of the attitude of the inner circle to new people, and I can't really blame him, it is why I didn't develop ReiserFS for BSD back when BSD was....
Almost certainly he is not alone....
It is all very fine to discuss the sociology of herd formation, exclusion, and prejudice in the abstract, but one should never say that particular persons are making particular decisions on the basis of their herd instincts unless one wants to be truly hated by them and all of their numerous friends, and this was my mistake over and above the choice of what sub-herd to be part of.
I don't think anyone "eggs me on" though. I press released benchmarks of ReiserFS vs. ext3 the day ext3 was formally released at a conference, before ReiserFS had been included, and is it a surprise one of them was pissed at me? My competitors didn't and don't want ReiserFS in the kernel, and I wanted and want it in, and the result has all the dignity of a food fight. Filesystems that are less threatening nobody cares enough about to seek to exclude them. Many thanks to Linus, who chooses to allow healthy competition among the filesystems in his kernel.
If only the largest distro was so permissive....
You do all understand that while the GPL doesn't permit tying by license, distros have now moved to using threats of invalidating support contracts to achieve the market leverage they need to exclude competitors, yes? By doing this they can exclude mainstream official kernels from being used, exclude rival filesystems, exclude whatever might lead to less customer lockin.....
This is why you should try to avoid buying support contracts from distros and only buy support from those who agree to support you the customer doing whatever you choose to do, even if it is something fringe like using a kernel from Linus.;-)
They will tell you all this nonsense about how they can't support whatever software you choose to use. Buy better support from an independent and you won't hear this nonsense (www.Namesys.com/support.html is $25 a question and there are plenty of others). Most independents will support you using whatever distro you want, using whatever configuration you want, and they have the skill to cope with that. Sure, they will tell you that such and such gcc release on such and such distro was a lemon, or maybe even that the only reasonable fix for your bug is to upgrade to a recent release, but your support provider should never be telling you that you can only use what they sold you.
I am trying to convince the GSA that they should avoid procuring free software support that constrains the government's choice of what software to use, and they are at least considering the point of view. Why bother to have the GPL if you accept this loss of freedom?
Ummh, maybe these sorts of statements are why I am not so popular....;-) Well, glad to have answered your question!
We should all keep in mind though that there aren't any hard core greedy evil people in our industry. They are all basically good hearted people who chose trying to create a better society as their life's work at a substantial cost in personal income. Petty, bickering, overly impressed with ourselves, flaming, yes that describes most of us Linux kernel developers, but there isn't enough money floating around to attract any genuinely bad folks into our industry.
Not yet....;-)
--
Hans
The fast growth vegetation are the people who took what had already been done by Unix, and without changing its design they copied it while making coding improvements. "
Is this guy working for SCO, or what?
I can't recall an interview that came back with such well thought out answers. Major kudos!
Stop by my site where I write about ERP systems & more
This one little interview puts last night's WinFS story to complete shame.
If ReiserFS has good disk access latency, Hans doesn't : boy did he take a long time to answer the questions, I thought it would never come. The guy must be real busy with his work ...
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
You do all understand that while the GPL doesn't permit tying by license, distros have now moved to using threats of invalidating support contracts to achieve the market leverage they need to exclude competitors, yes?
I wasn't aware of this at all. I'd like to see this expanded, i.e. what distros are doing this? Does it violate any GPL issues? Why are these distros undermining the glue that holds Linux together? What does Linux think?
Competition is important. Hans is exactly right when he says that no support contract should tie a customer to a specific piece of software. Free software is all about choice!
As The Dude would say, "this is a bummer, man..."
Ben
"I either want less corruption, or more chance
to participate in it." -- Ashleigh Brilliant
I thought it not being in the filesystem was adequate until I saw a demo of Katie, which lets you mount the repository as an NFS filesystem and access snapshots of the repository at certain points as different directories, take diffs just by running the standard diff between these directories, etc.
If only there was a stable (Katie's author describes it as "pre-alpha") and free piece of software to do it...
>If only the largest distro was so permissive....
can somebody explain this sentence to me? I am not sure what he is talking about.
He takes a moment to swear at the paucity of features possessed by emacs,
Never have I expected to see this comment.
Pigs must be a flying.
Fellowship 9/11
Automatic versioning of files is one thing I actually miss from VMS. Certainly not most of the rest of it :)
Damned slashcode. Why can't I go fix it?
A hundred obvious reasons.
The first one is: use your imagination. When it says "Use the preview button" it acutally means "re-read your comment, and watch out for logical inconsistencies, spelling errors and ECHOLON-triggering expressions". :)
If you'd read the article more closely, you'd see that the filesytstem can also be licensed for a fee (ie a non-free license). If others want to incorporate his work and not make the result freely available, they will have to pay for the privilege.
This prevents M$ from stealing his work, making it incompatible with the main branch and calling it WinFS. This is the beauty of the GPL and why I consider it to be a "truely free" license, while I consider the mBSD license to be just a half-step above the public domain. Just look what happened (is happening) to Kerberos.
...for paucity of relevant features. No pyschotherapy for me today, thanks. I just want to edit this file....
Of course, if those other operating systems were licensed under the GPL...
Red Hat for one is known to tie use of their server software to a support contract.
who chooses to allow healthy competition among the filesystems in his kernel.
If only the largest distro was so permissive....
I thought he was talking about Yggdrasil.
After reading this interview, all I can say is quoting from the lyrics of Berlin (80's Band) "you take my breath away." Wow, what a read. :-) One of the best interviews I have read.
(a) Short but quick, not overly useful answers
(b) Long-thought-out, rather details, quite intelligent and possibly useful answers?
I'll choose (b), as I've noticed that it is notoriousl difficult to release a post-release patch for slashdot comments...
I recall that in an interview a few months ago, Eric Raymond said that on the Linux kernel list there're some dinosaures, that have a hard time acception anything/anyone new.
Back at that time, I didn't take him seriously(because the reason of his statement was that his kernel configuration tool was not accepted, and he was really affected by it....) and I marked the phrase as an act of anger.
However, now a second (respected) personality is saying almost a similar thing and I'm starting to wonder. Is there anybody out there who has had similar experience when he wanted to join some Open source project?? Do you think that OS developpers guard their "territory" even more than at the workplace??? Finally, when you're new somewhere, the integration in the team is somehow easier due to the fact that it's the boss who put you on that job...
PS: For the Eric Raymond interview, google something about his last book and it'll come out....
1. No sig. 2. ???? 3. Profit!!!
In case you wonder what he looks like, here are a few pictures of Hans giving a lecture over at LUGOD.
I got flamed before for pointing out the flat, thoughtless answers submitted by previous respondents. (Mr. Shatner for example)
Typical justification where: "He's a busy man", "What did you expect deep insight?", etc.
Here we had someone who is no doubt busy but provided, in-depth, insightful and complete answers.
If you don't want to repeat the past, stop living in it.
Microsoft et al just want a "free lunch". Well they can eat @$#%; if they don't want to share their work freely then they will damn well pay for my work if they want to use it. The GPL ensures that.
At the same time, anything licensed under the GPL can be freely looked at and reimplemented, so innovation isn't bottled up and kept secret à la proprietary software.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
Reiser4 seems pretty nice, but you still have to pay for the disk space in the first place.
That's why I'm excited about SpamFS - the first POP3/SMTP-based file system, leveraging the preponderance of free email accounts available on the internet.
Need more disk space? Sign up for some more email accounts. One advantage ReiserFS has is that it will work a lot better if you have an internet connection problem ... props on that.
However, Hormel Systems is really taking a revolutionary approach that I expect Reiser5, Longhorn, and OSX will be forced to incorporate.
Wow! What a great interview. Sometimes you get basically yes/no answers, but I'm really, really impressed with this one. I never really looked much into filesystems, but boy, this was interesting. I would say hurray for SuSe and Mandrake who use ReiserFS. Moreso for Mandrake because they are completely OSS.
It really seems like ReiserFS is going places. I wonder is there much going on in the developement of the other filysystems? (JFS, XFS, Ext3fs?). I haven't heard any long term plans from any other filesystem guys, but maybe its worth looking into. I'd be curious of other [filesystem] people are actually developing long term, or just fixing stuff.
I definitely agree with his point about long term research. You just can't do something in a couple weeks or even months. The really great achievements are usually done over a period of years, and as we (humans) learn more and more, the great discoveries will take longer and longer. While it does make sense for buisinesses to want short term research, the government should do things long term, as should the larger companies. I'm especially impressed with IBM, because you sometimes hear of fun stuff(writing IBM in atoms) that is definitely long term being done there, which is cool.
Again kudos to Hans for this great interview.
"Is it done yet?"
"Is what done? Can you rephrase?"
"I can't... otherwise, you'd charge me for two questions."
~ Old Warriors Society
I'm wondering how exactly filesystem-based version-control would work? Would that mean that a versioned backup of each file is made, or have it optional as to which files are backed up.
The only version control I've used is MS SourceSafe (insert boos and hisses here, no I don't like it) and also when editing COBOL files on a VAX. Now, it seems to me that the versioning was a property of the VAX and not the editor (as it automatically incremented versions with up to 2 backups) regardless of editor, and/or implemented the newest version on an edit.
You do all understand that while the GPL doesn't permit tying by license, distros have now moved to using threats of invalidating support contracts to achieve the market leverage they need to exclude competitors, yes?
Although I agree with Reiser's statement that tying support contracts to a GPL product is/should be illegal, some of his other statements about the GPL have been questionable.
RMS responded to a question about some of Reiser's statements about the GPL v3 indicating that Reiser was incorrect about GPL3 including ad-removal restrictions.
The entire thread is an interesting read about the GFDL, GPL, and possible crossover between the two. Take a look at the author index for some other interesting tidbits.
ok, since when can microsoft not afford to pay a "fee", create a proprietary FS, and release jack back to the community?
Specific questions: what branches of math are useful in this line of research? Any books, articles, etc., that I haven't listed that are a 'must read' or 'should read'? Those who have succeeded in building a better filesystem: what have they done that I should also do? Any mistakes I should avoid? Anything that no one told you about filesystems that you wish you had known up front?
You might find Dominic Giampaolo's book about implementing the BeOS File System (BeFS) interesting:
Practical File System Design with the Be File System
by Dominic Giampaolo
* Paperback: 237 pages
* Publisher: Morgan Kaufmann (January 15, 1999)
* Average Customer Review: 4 out of 5 stars
Actually I was a bit reassured as a taxpayer about how the DoD spends our money by seeing them in action
I'm not.
> Just look what happened (is happening) to Kerberos.
I'd say that Microsoft's 'extension' to Kerberos is ultimately perfectly fine and valid, just unfortunate that they did not make it completely valid to reimplement. They used a field in the ticket exactly how it was meant to be used -- for vendor-specific authorization data. Remember, Krb5 was designed to be an authentication protocol, and you can use either AD for authentication of plain-*NIX-boxen just fine or can use, say, MIT or Heimdal K5 for authentication of users on Win2K / XP client boxes w/o too much (relative) trouble.
AD's implementation of Krb5 genuinely strives to be per-spec, and the spec defines the authorization field to be used as the vendor sees fit.
But by paying the "fee", they are giving back to the community. The developer is rewarded and is able to continue work on the free version too (assuming a benevolent[sp?] developer).
I see no problem with this.
I have read in a looooong time. O' to be J-Dog for a day.
Now if you think about it, who wants to be around a blind man with a stick,
I am a blind man without a stick. I swing code around instead...
The answers were excellent though.
(Sponsored by cheeseSource for President 2012)
From what I understand, they are using the vendor specific field to ensure that windows hosts can't be authenticated by unix servers. I don't believe this is what the developers intended.
IMO it's anti-competitive and illegal, but IANAL.
I think by "copy" he meant "duplicate the functionality and semantics."
Sadly, based on their mishmash of contradictory claims, I think that's what SCO means by "copy" too.
This isn't actually as big a deal as it might sound -- really, at least from a user level (as opposed to system), most people have a ton of static files and a few that are updated with any regularity. Assuming that the evolving versions are stored in a halfway intelligent manner (such as ClearCase's file deltas), the amount of "extra" space such a filesystem would consume should be reasonable when put in the context of the rate of size expansion in modern drives.
If they can create a (much) more efficiant version of ClearCase's MVFS, it would obviously be tremendously valuable on several fronts other than simple backups, such as tracking overall FS changes, metrics gathering (from a bid'ness client POV), etc.
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
I believe Microsoft did not use the MIT-licensed code for their version of Kerberos: post
...
It is interesting that Microsoft wrote their own Kerberos even when code already existed with a BSD-style license.
This prevents M$ from stealing his work,
With the direction Microsoft is taking with file systems, I strongly doubt they will want his work.
The question, much asked, is;
Why does software SUCK?
The answer is Commercial Constraints on the development process.
Yes - business pays the bills. But rarely looks to the future, in favor of making a quick buck.
Can purely academic software suck? Yes. Ivory-towerism leads to a steadfast refusal to meet user requirements.
Is there a middle-ground approach that might work?
Certainly.
But when it becomes a contest of egos between an Academic Founder of a company, and the MBA Suits to prove who's "better" or who has the "power" - guess who wins out more often than not? The middle ground suffers. After all, we're only human, aren't we?
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
My question is, why does Debian consider ReiserFS to be a "less mature, less stable" filesystem than EXT3? ReiserFS was stable in the kernel long before EXT3 had the "experimental" tag removed.
Sure. And Reiser would be helping commercial OSs to adopt it and customize it for their needs without giving anything back. Why is this desirable? MS integrated Kerberos. What did MS give back? Nothing afaik. Releasing stuff under a BSD-like license gives a short-term benefit to society: it makes closed-source software cheaper. But the long-term disadvantage is that this diminishes several competitive advantages of free software, especially the lower cost.
Look at RedHat's hardware compatibility lists... They have tier 1, 2, 3 hardware. RedHat itself has tacitly stated that their support will be less accurate if you are not using tier 1 hardware. The users always have a role to play in the odds of a successful support call.
I am happy that RedHat made a profit this quarter, and I wish them well.
However, I think that their changes to support will hurt them in a number of ways:
Because of these problems, I have been dumping RedHat from my customers' systems, and replacing it mostly with OpenBSD. While the necessity of compiling from source for all security updates is in itself inconvenient, there is 1/10 of the traffic in OpenBSD errata, so there is less work in the end.
Sure, I've "learned" more out of class. It's almost impossible for class to keep up with a motivated learner; it's only a handful of hours a week.
But I've learned different getting my grad degree. I would not have my familiarity with graph theory, algorithmic complexity, internals of compilers, etc. While perhaps none of these things were as in depth as you'd need to actually do work, the framework I've acquired to handle these in two years in grad school would easily have taken me 10 years of my own to learn... because on your own you get very focused on the task(s) at hand and never learn anything more.
Also, unless you're a rare genius with math, having accountability to a professor to really learn the material, and not just skim a book and fool myself into thinking I understood intensely mathematical material, is invaluable. It's a rare person that can truly force themselves to learn material like that... and for things like graph theory that can be important.
Each of those things is paying off, too, in my work. Graph theory in particular, though it's hard to point at a useless class.
(Of course, if you go into the classes assuming that you'll never get anything useful out of them, you won't.)
Note that I did a Masters, and I did not do a thesis; IMHO two years is too small for a thesis, so I actively chose to take the classes instead, which were more valuable to me. (I feel like this was my thesis, since I was writing it the whole time I was in grad school, but they'd never give me a masters in computer science for that.)
I seem to remember two reasons offered by RedHat for resistance to ReiserFS:
I think that Bero made these arguments here on slashdot sometime before he and RedHat parted company. Still, there is no excuse for refusing the tremendous gift of XFS from SGI.
You were right to dismiss Eric. On the other hand, Hans may have a point.
I didn't follow Hans' experiences, but he's a technically competent guy. Eric, in his complaints didn't. I followed Eric's work, and his configuration tool was poorly designed, atrociously implemented, and generally technically incompetent. He was unable or unwilling to play by the rules by which features were submitted into the kernel. As a result, there was no way his code would ever make it into the Linux kernel. This is very different from the opposition Hans met, when he came in with a technically solid bit of code (which, as a result, Linus eventually included).
Unlike Hans, Eric's goal was not to improve the kernel, but to get his name on some reputable software project, to lend credibility to his primary job as the self-proclaimed open source/Linux spokesperson. As a result of this, and previous issues I won't bring up, a lot of people on the list also disliked Eric. As a result, when they excluded his code, they also gave him shit about it. But this isn't general to all newcomers; just Eric.
Grandparent wanted free software. Plan 9 doesn't count. It prohibits private modification. It requires people outside the USA to obey USA export controls. It seems to prohibit distributing some component programs without distributing the whole thing.
In addition, the license's retaliation clause effectively grants all Plan 9 contributors a license to every copyright that a user owns. For example, if an employee of The Walt Disney Company were to install Plan 9, Lucent would be allowed to hold a Disney DVD copying party. This may seem like a good thing at first, but imagine this: If an employee of the Free Software Foundation were to install Plan 9, Lucent would be able to distribute every GNU program as proprietary software.
Will I retire or break 10K?
MS integrated Kerberos. What did MS give back? Nothing afaik. Releasing stuff under a BSD-like license gives a short-term benefit to society: it makes closed-source software cheaper. But the long-term disadvantage is that this diminishes several competitive advantages of free software, especially the lower cost.
Could you please post examples of things that you have done to "give back"? Your website lists no software contributions that you have made, nor does it supply any source code...
Releasing stuff under a BSD-like license gives a short-term benefit to society
So release stuff under the BSD license and the GPL! Then you get a long-term benefit and a short-term benefit, right?
This prevents M$ from stealing his work, making it incompatible with the main branch and calling it WinFS.
Why is that a bad thing?
scan the KDE CVS for stuff by tjansen...
Of course not. If you release under BSD anybody can take your source to improve closed software. GPL doesnt matter then, BSD is GPL-compatible (so anybody is allowed to re-license BSD to GPL).
So wait a second. Giving something away is a bad thing? If I write something and let others use it that's bad, because some of those people might use it for bad purposes? I don't buy it.
If you release under BSD anybody can take your source to improve closed software.
Or they could take it to improve open source software which just happens to not be GPLed.
This piece in Hans' answer puzzled me:
It is all very fine to discuss the sociology of herd formation, exclusion, and prejudice in the abstract, but one should never say that particular persons are making particular decisions on the basis of their herd instincts unless one wants to be truly hated by them and all of their numerous friends, and this was my mistake over and above the choice of what sub- herd to be part of.
And all along I thought it was spelled "the HURD"!
No, non-AD Krb5 servers can be used for authentication of users on Win2k / XP boxes just fine. Just won't be able to emit the AD-specific user *authorization* data -- essentially the network-group/role memberships ala the NTLM doman-wide group membership info.
You can sortof work around that using machine-local groups.
Check out this paper from M$FT [microsoft.com) for more info. This was helpful in getting my old uni's Windows XP realm to defer to the exising MIT K5 for authentication (go UNCC Mosaic!)
The guy wrote KDE desktop sharing, for one thing, which I use all the time at work. Thanks, Tim Jansen!
How about you, AC?
Why does that prevent MS, or anybody, from stealing it? I mean, if they are willing to steal it when it is available for free, why would they stop because there is a fee attached to it?
I used MS because the post I'm replying to did, I am not implyngthat thay have or have not stolen code. Naturally by stolen I mean infringed on a copy right.
The Kruger Dunning explains most post on
Glad I read that article! Now I have a new quote for my sig!
Practice Kind Randomness and Beautiful Acts of Nonsense.
> So wait a second. Giving something away is a bad
> thing?
It's not bad, but your contribution to change the world is not as big as it could be. If you put software under GPL, only the free software community can use it. If you put software under BSD, you give it to vendors of proprietary applications as well.
So if your goal is to help free software to replace proprietary software (and thus to lead to a world where the software infrastructure is free), the GPL is the right choice. Putting software under BSD won't help you to achieve this goal. It has other effects, like decreasing the value of software in general and providing *one* free implementation. But only software under GPL, especially if there is no proprietary equvalent, gives the free software world a technical advantage over the proprietary competition.
Diff based versioning allows older versions to be kept as a series of differences from the current version. This is compact, but I feel it is pushing too much down to the file system level. A file system should just store data and provide ways of tagging the data to facilitate retrieval (whether directories or whatever).
For real revision control across a project on VMS, there was something called CMS (a little like SCCS/RCS). This would only store diffences but allow you to form groups of elements and enter version sets into classes. It cost money but was very good and could be used via the command line or a GUI. What was nice was the whole thing could be embedded inside scripts or called from other packages so you could really roll your own.
What was really nice on VMS was RMS, the record management system that sat on top of the file system. It meant that all programs could share files, even indexed files. Then there were the use of logical names and search lists.
If I defined a logical, SRC to be a comma separated list of directories, it would work like the Unix Path and the system would look through each directory specified until it found the file. Typically, I would have the working directory, staging area and the base level directory in the list so if something wasn't checked out, it would be automatically pulled from the base level. By redefining the logical, I can switch projects and environments easily.
The thing is that this wasn't the file system and it was an optional layer but it came as a standard system library and all the normal opens went through this layer. However only relational databases tended to bypass it (they did their own locking and had their own ideas about internal file structure). As with the underlying I/O subsystem, this layer above could be used totally asynchronously.
Personally whenever I use a Unix system, it isn't so much the underlying file system that becomes an issue so much as the layer above it. What is inside the file and how I can describe those contents (file metadata or resouce forks). When I open a VMS file, I immediately know things like max record size, blocking factor and so on. I don't always need the in fo, but I can really speed things up when I do.
See my journal, I write things there
That's a load of bull. The GPL and the BSD license have different liberties and obligations. In some cases the GPL will be a superior choice and in other cases it will be the BSD license (or other non-Free licenses). But you shouldn't equate the (relative) lack of restrictions in the BSD license with leeching/stealing. History has shown that many individuals and companies are willing to contribute to BSD/MIT/Apache licensed code. People will contribute back, if only out of self-interest (merging custom code costs $$$ and that code will not be tested (for free!) by other users).
;)
Furthermore, the BSD license allows companies and individuals that want to contribute to use code without necessarily having to open source all other code that touches the open source stuff. This is important to companies if only to prevent accidental GPL violations. You also get into trouble if you want to assemble and distribute a system with closed and open source components (you might want to create the best of breed solution). IMHO, a more liberal approach is often better than forcing people to comply to fairly arbitrary rules.
Last and most importantly, my interest is in promoting the reuse of code, resulting in better software. If someone wants to leech, that's fine with me. I believe that open source is one of the strongest methods of cooperation between companies. In the long term, the companies that leech will be at a disadvantage to those that actively cooperate and share knowledge.
PS. I'm getting sick and tired of the "M$ will steal my work" argument that gets thrown around everytime the BSD license is mentioned. It seems to me that MS goes out of its way not to reuse existing open source code (resulting in mediocre products). I understand that you want to use the bogeyman of the open source community for an easy ad hominem attack, but its really not much better than those Hitler references that supposedly end a Usenet thread. FUD is easy, insightful comments are challenging. I dare you
The Drowned and the Saved - Primo Levi
I missed that story. Apparently, either RMS missed it as well, or he's busy.
The revised license looks much better, but it still has a couple problems. For one thing, it still requires adherence to the US export controls, which can approach extraterritoriality. Changing it to refer to something along the lines of "the export control laws of Distributor's jurisdiction" may have served better. And haven't the US laws changed so that export of open-source crypto (except to Cuba, Libya, etc.) doesn't need a license?
This part worries me: "Each party waives its rights to a jury trial in any resulting litigation."
Other questions are more practical: 1. Does Plan 9 support computer hardware commonly available at Best Buy? 2. Does Plan 9 support enough widely used desktop software to make migration from Windows or Linux not a pain?
Will I retire or break 10K?
They've had ReiserFS support at install time for a while now.
Nope, nothing wrong with it at all... so long as I haven't contributed code.
Try these numbers:
4-5 years in MS XP
15-20 years in FreeBSD
2-3 years in ReiserFS
It's not bad, but your contribution to change the world is not as big as it could be.
I disagree. You contribution to change the world is bigger if you give away your contribution to more people, not fewer.
If you put software under GPL, only the free software community can use it.
Only part of the free software community can use it.
If you put software under BSD, you give it to vendors of proprietary applications as well.
Why is this a bad thing?
So if your goal is to help free software to replace proprietary software (and thus to lead to a world where the software infrastructure is free), the GPL is the right choice.
But what if I don't think people should be forced to release their source code? Then the GPL is the wrong choice.
Putting software under BSD won't help you to achieve this goal.
Sure it will.
It has other effects, like decreasing the value of software in general and providing *one* free implementation.
Why only *one* free implementation? The BSD license allows all the free implementations that the GPL allows, plus it allows other free implementations that the GPL doesn't allow.
But only software under GPL, especially if there is no proprietary equvalent, gives the free software world a technical advantage over the proprietary competition.
The free software world always has a technical advantage over the proprietary competition. That's why we want free software in the first place, remember?
Oh please! What kind of garbage is this? I was taking you seriously until this last paragraph.
I did not resort to ad hominem attack; Microsoft has stated several times that they prefer the BSD license because they can use your code, whereas with the GPL they can't. In a business case, why would I want to have a one way street flowing towards my competitors?
BTW, I was not attacking the BSD license. I have no problem with it at all and have contributed BSD code and have released work under similar licenses, but I was making a case for business.
Granted, there has been excellent collaboration with projects like Apache, and that's great. I'm not telling you to use the GPL, just pointing out that it allows for doing business in ways the BSD license can't. Use what you like.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
I've seen a couple people commenting on RedHat's support for reiserfs. To install a redhat box on reiserfs do this:
1) boot from RedHat cd/floppy/whatever
2) at the boot prompt, type: linux reiserfs
That's it. Many people think that RedHat doesn't support reiserfs befause it isn't available by default.
640YB ought to be enough for anybody.
I disagree. You contribution to change the world is bigger if you give away your contribution to more people, not fewer.
.NET CLR or Sun's Java VM to Mono, Portable.Net, Kaffee and all the others), usability (compare MacOS to KDE or Gnome)...
If your focus is to let other people use your software, yes. If your focus is that all people have access to their software's source code, no.
But what if I don't think people should be forced to release their source code? Then the GPL is the wrong choice.
Sure. If you don't care whether a few proprietary vendors control all information, then BSD is certainly the right license for you.
The free software world always has a technical advantage over the proprietary competition.
No, it doesn't. There are many area where the proprietary competition is still years ahead. For example high-end scalability (compare Solaris to Linux on >=64 CPU machines), VMs (compare MS's
I can't help but read "MS will steal your work if you use the BSD license" in your post. IMHO that is FUD. MS might have stated that they prefer the BSD license, but I'm quite sure that it is an attempt to split the open source community. DotNET for BSD can be seen in the same light. It's just a weak attempt to lure people away from their main competitor, Linux. It's pretty clear that they aren't interested in leeching from the BSD community, simply because they don't. They much prefer to either write everything themselves or to buy a company that already has a half-decent product.
In short, your statement is not supported by the facts and puts the BSD license is a bad daylight. In my book, that is FUD. You might not have intended it, but that doesn't change the fact that your post will be interpreted this way by some people. If I'm misunderstood, I usually reread my post and see if I can express myself clearer in the future. There is always something to improve and the best way to find it is to answer the question why I'm misunderstood.
The Drowned and the Saved - Primo Levi
What have I said that is not fact?
1. The BSD license allows companies to use code in proprietary products without ever contributing back.
2. The GPL does not allow that. A project, such as ReiserFS, can be GPLed and sold to proprietary vendors at the same time. The proprietary vendor can either purchase it, or use the GPL version and open their own code.
Look, I'm not saying that the BSD license is bad for business, just that the GPL has certain advantages. If your business is based on support, then in that case the license may not make much difference. But as is the case with MySQL and ReiserFS, their businesses may not work if their code was BSD licensed.
Whatever... I'm not going to argue anymore.
Cheers.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
Sure. If you don't care whether a few proprietary vendors control all information, then BSD is certainly the right license for you.
I didn't say anything about proprietary vendors. I said vendors who don't release their source code. There's a big difference.
What have I said that is not fact?
"With the BSD license, everyone just "steals" it and never contributes anything back."
"Microsoft et al just want a "free lunch"."
The first is patently false since companies do contribute back. The second is arguably false since MS rarely (if ever) uses BSD software and because there are good business reasons for companies to dislike the GPL, even if they want to contribute.
If you can't understand the difference between "it is possible that" and "everyone will", you have a big problem communicating. You can keep wondering why you get flamed, but it might be more productive if you learn to distinguish between having the freedom to do something and actually doing it.
The Drowned and the Saved - Primo Levi
There you go. BSD code in Windows 2000.
I know. They bought their TCP/IP stack from a third party who used some BSD code for related utilities. Note that the TCP/IP stack in Windows is not derived from the BSD version, even when that was the best one around and MS needed one badly. So my point still stands, they seem to go out of their way not to use open source solutions.
The Drowned and the Saved - Primo Levi
Releasing stuff under a BSD-like license gives a short-term benefit to society: it makes closed-source software cheaper.
Wrong. It makes closed-source software development cheaper!