xref: /openbmc/linux/fs/reiserfs/README (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
11da177e4SLinus Torvalds[LICENSING]
21da177e4SLinus Torvalds
31da177e4SLinus TorvaldsReiserFS is hereby licensed under the GNU General
41da177e4SLinus TorvaldsPublic License version 2.
51da177e4SLinus Torvalds
61da177e4SLinus TorvaldsSource code files that contain the phrase "licensing governed by
71da177e4SLinus Torvaldsreiserfs/README" are "governed files" throughout this file.  Governed
81da177e4SLinus Torvaldsfiles are licensed under the GPL.  The portions of them owned by Hans
91da177e4SLinus TorvaldsReiser, or authorized to be licensed by him, have been in the past,
101da177e4SLinus Torvaldsand likely will be in the future, licensed to other parties under
111da177e4SLinus Torvaldsother licenses.  If you add your code to governed files, and don't
121da177e4SLinus Torvaldswant it to be owned by Hans Reiser, put your copyright label on that
131da177e4SLinus Torvaldscode so the poor blight and his customers can keep things straight.
141da177e4SLinus TorvaldsAll portions of governed files not labeled otherwise are owned by Hans
151da177e4SLinus TorvaldsReiser, and by adding your code to it, widely distributing it to
161da177e4SLinus Torvaldsothers or sending us a patch, and leaving the sentence in stating that
171da177e4SLinus Torvaldslicensing is governed by the statement in this file, you accept this.
181da177e4SLinus TorvaldsIt will be a kindness if you identify whether Hans Reiser is allowed
191da177e4SLinus Torvaldsto license code labeled as owned by you on your behalf other than
201da177e4SLinus Torvaldsunder the GPL, because he wants to know if it is okay to do so and put
211da177e4SLinus Torvaldsa check in the mail to you (for non-trivial improvements) when he
221da177e4SLinus Torvaldsmakes his next sale.  He makes no guarantees as to the amount if any,
231da177e4SLinus Torvaldsthough he feels motivated to motivate contributors, and you can surely
241da177e4SLinus Torvaldsdiscuss this with him before or after contributing.  You have the
251da177e4SLinus Torvaldsright to decline to allow him to license your code contribution other
261da177e4SLinus Torvaldsthan under the GPL.
271da177e4SLinus Torvalds
281da177e4SLinus TorvaldsFurther licensing options are available for commercial and/or other
291da177e4SLinus Torvaldsinterests directly from Hans Reiser: hans@reiser.to.  If you interpret
301da177e4SLinus Torvaldsthe GPL as not allowing those additional licensing options, you read
311da177e4SLinus Torvaldsit wrongly, and Richard Stallman agrees with me, when carefully read
321da177e4SLinus Torvaldsyou can see that those restrictions on additional terms do not apply
331da177e4SLinus Torvaldsto the owner of the copyright, and my interpretation of this shall
341da177e4SLinus Torvaldsgovern for this license.
351da177e4SLinus Torvalds
361da177e4SLinus TorvaldsFinally, nothing in this license shall be interpreted to allow you to
371da177e4SLinus Torvaldsfail to fairly credit me, or to remove my credits, without my
381da177e4SLinus Torvaldspermission, unless you are an end user not redistributing to others.
391da177e4SLinus TorvaldsIf you have doubts about how to properly do that, or about what is
401da177e4SLinus Torvaldsfair, ask.  (Last I spoke with him Richard was contemplating how best
411da177e4SLinus Torvaldsto address the fair crediting issue in the next GPL version.)
421da177e4SLinus Torvalds
431da177e4SLinus Torvalds[END LICENSING]
441da177e4SLinus Torvalds
451da177e4SLinus TorvaldsReiserfs is a file system based on balanced tree algorithms, which is
46*631dd1a8SJustin P. Mattockdescribed at https://reiser4.wiki.kernel.org/index.php/Main_Page
471da177e4SLinus Torvalds
481da177e4SLinus TorvaldsStop reading here.  Go there, then return.
491da177e4SLinus Torvalds
501da177e4SLinus TorvaldsSend bug reports to yura@namesys.botik.ru.
511da177e4SLinus Torvalds
521da177e4SLinus Torvaldsmkreiserfs and other utilities are in reiserfs/utils, or wherever your
531da177e4SLinus TorvaldsLinux provider put them.  There is some disagreement about how useful
541da177e4SLinus Torvaldsit is for users to get their fsck and mkreiserfs out of sync with the
551da177e4SLinus Torvaldsversion of reiserfs that is in their kernel, with many important
561da177e4SLinus Torvaldsdistributors wanting them out of sync.:-) Please try to remember to
571da177e4SLinus Torvaldsrecompile and reinstall fsck and mkreiserfs with every update of
581da177e4SLinus Torvaldsreiserfs, this is a common source of confusion.  Note that some of the
591da177e4SLinus Torvaldsutilities cannot be compiled without accessing the balancing code
601da177e4SLinus Torvaldswhich is in the kernel code, and relocating the utilities may require
611da177e4SLinus Torvaldsyou to specify where that code can be found.
621da177e4SLinus Torvalds
631da177e4SLinus TorvaldsYes, if you update your reiserfs kernel module you do have to
641da177e4SLinus Torvaldsrecompile your kernel, most of the time.  The errors you get will be
651da177e4SLinus Torvaldsquite cryptic if your forget to do so.
661da177e4SLinus Torvalds
671da177e4SLinus TorvaldsReal users, as opposed to folks who want to hack and then understand
681da177e4SLinus Torvaldswhat went wrong, will want REISERFS_CHECK off.
691da177e4SLinus Torvalds
701da177e4SLinus TorvaldsHideous Commercial Pitch: Spread your development costs across other OS
711da177e4SLinus Torvaldsvendors.  Select from the best in the world, not the best in your
721da177e4SLinus Torvaldsbuilding, by buying from third party OS component suppliers.  Leverage
731da177e4SLinus Torvaldsthe software component development power of the internet.  Be the most
741da177e4SLinus Torvaldsaggressive in taking advantage of the commercial possibilities of
751da177e4SLinus Torvaldsdecentralized internet development, and add value through your branded
761da177e4SLinus Torvaldsintegration that you sell as an operating system.  Let your competitors
771da177e4SLinus Torvaldsbe the ones to compete against the entire internet by themselves.  Be
781da177e4SLinus Torvaldship, get with the new economic trend, before your competitors do.  Send
791da177e4SLinus Torvaldsemail to hans@reiser.to.
801da177e4SLinus Torvalds
811da177e4SLinus TorvaldsTo understand the code, after reading the website, start reading the
821da177e4SLinus Torvaldscode by reading reiserfs_fs.h first.
831da177e4SLinus Torvalds
841da177e4SLinus TorvaldsHans Reiser was the project initiator, primary architect, source of all
851da177e4SLinus Torvaldsfunding for the first 5.5 years, and one of the programmers.  He owns
861da177e4SLinus Torvaldsthe copyright.
871da177e4SLinus Torvalds
881da177e4SLinus TorvaldsVladimir Saveljev was one of the programmers, and he worked long hours
891da177e4SLinus Torvaldswriting the cleanest code.  He always made the effort to be the best he
901da177e4SLinus Torvaldscould be, and to make his code the best that it could be.  What resulted
911da177e4SLinus Torvaldswas quite remarkable. I don't think that money can ever motivate someone
921da177e4SLinus Torvaldsto work the way he did, he is one of the most selfless men I know.
931da177e4SLinus Torvalds
941da177e4SLinus TorvaldsYura helps with benchmarking, coding hashes, and block pre-allocation
951da177e4SLinus Torvaldscode.
961da177e4SLinus Torvalds
971da177e4SLinus TorvaldsAnatoly Pinchuk is a former member of our team who worked closely with
981da177e4SLinus TorvaldsVladimir throughout the project's development.  He wrote a quite
991da177e4SLinus Torvaldssubstantial portion of the total code.  He realized that there was a
1001da177e4SLinus Torvaldsspace problem with packing tails of files for files larger than a node
1011da177e4SLinus Torvaldsthat start on a node aligned boundary (there are reasons to want to node
1021da177e4SLinus Torvaldsalign files), and he invented and implemented indirect items and
1031da177e4SLinus Torvaldsunformatted nodes as the solution.
1041da177e4SLinus Torvalds
1051da177e4SLinus TorvaldsKonstantin Shvachko, with the help of the Russian version of a VC,
1061da177e4SLinus Torvaldstried to put me in a position where I was forced into giving control
1071da177e4SLinus Torvaldsof the project to him.  (Fortunately, as the person paying the money
1081da177e4SLinus Torvaldsfor all salaries from my dayjob I owned all copyrights, and you can't
1091da177e4SLinus Torvaldsreally force takeovers of sole proprietorships.)  This was something
1101da177e4SLinus Torvaldscurious, because he never really understood the value of our project,
1111da177e4SLinus Torvaldswhy we should do what we do, or why innovation was possible in
1121da177e4SLinus Torvaldsgeneral, but he was sure that he ought to be controlling it.  Every
1131da177e4SLinus Torvaldsinnovation had to be forced past him while he was with us.  He added
1141da177e4SLinus Torvaldstwo years to the time required to complete reiserfs, and was a net
1151da177e4SLinus Torvaldsloss for me.  Mikhail Gilula was a brilliant innovator who also left
1161da177e4SLinus Torvaldsin a destructive way that erased the value of his contributions, and
1171da177e4SLinus Torvaldsthat he was shown much generosity just makes it more painful.
1181da177e4SLinus Torvalds
1191da177e4SLinus TorvaldsGrigory Zaigralin was an extremely effective system administrator for
1201da177e4SLinus Torvaldsour group.
1211da177e4SLinus Torvalds
1221da177e4SLinus TorvaldsIgor Krasheninnikov was wonderful at hardware procurement, repair, and
1231da177e4SLinus Torvaldsnetwork installation.
1241da177e4SLinus Torvalds
1251da177e4SLinus TorvaldsJeremy Fitzhardinge wrote the teahash.c code, and he gives credit to a
1261da177e4SLinus Torvaldstextbook he got the algorithm from in the code.  Note that his analysis
1271da177e4SLinus Torvaldsof how we could use the hashing code in making 32 bit NFS cookies work
1281da177e4SLinus Torvaldswas probably more important than the actual algorithm.  Colin Plumb also
1291da177e4SLinus Torvaldscontributed to it.
1301da177e4SLinus Torvalds
1311da177e4SLinus TorvaldsChris Mason dived right into our code, and in just a few months produced
1321da177e4SLinus Torvaldsthe journaling code that dramatically increased the value of ReiserFS.
1331da177e4SLinus TorvaldsHe is just an amazing programmer.
1341da177e4SLinus Torvalds
1351da177e4SLinus TorvaldsIgor Zagorovsky is writing much of the new item handler and extent code
1361da177e4SLinus Torvaldsfor our next major release.
1371da177e4SLinus Torvalds
1381da177e4SLinus TorvaldsAlexander Zarochentcev (sometimes known as zam, or sasha), wrote the
1391da177e4SLinus Torvaldsresizer, and is hard at work on implementing allocate on flush.  SGI
1401da177e4SLinus Torvaldsimplemented allocate on flush before us for XFS, and generously took
1411da177e4SLinus Torvaldsthe time to convince me we should do it also.  They are great people,
1421da177e4SLinus Torvaldsand a great company.
1431da177e4SLinus Torvalds
1441da177e4SLinus TorvaldsYuri Shevchuk and Nikita Danilov are doing squid cache optimization.
1451da177e4SLinus Torvalds
1461da177e4SLinus TorvaldsVitaly Fertman is doing fsck.
1471da177e4SLinus Torvalds
1481da177e4SLinus TorvaldsJeff Mahoney, of SuSE, contributed a few cleanup fixes, most notably
1491da177e4SLinus Torvaldsthe endian safe patches which allow ReiserFS to run on any platform
1501da177e4SLinus Torvaldssupported by the Linux kernel.
1511da177e4SLinus Torvalds
1521da177e4SLinus TorvaldsSuSE, IntegratedLinux.com, Ecila, MP3.com, bigstorage.com, and the
1531da177e4SLinus TorvaldsAlpha PC Company made it possible for me to not have a day job
1541da177e4SLinus Torvaldsanymore, and to dramatically increase our staffing.  Ecila funded
1551da177e4SLinus Torvaldshypertext feature development, MP3.com funded journaling, SuSE funded
1561da177e4SLinus Torvaldscore development, IntegratedLinux.com funded squid web cache
1571da177e4SLinus Torvaldsappliances, bigstorage.com funded HSM, and the alpha PC company funded
1581da177e4SLinus Torvaldsthe alpha port.  Many of these tasks were helped by sponsors other
1591da177e4SLinus Torvaldsthan the ones just named.  SuSE has helped in much more than just
1601da177e4SLinus Torvaldsfunding....
1611da177e4SLinus Torvalds
162