0001 [LICENSING]
0002
0003 ReiserFS is hereby licensed under the GNU General
0004 Public License version 2.
0005
0006 Source code files that contain the phrase "licensing governed by
0007 reiserfs/README" are "governed files" throughout this file. Governed
0008 files are licensed under the GPL. The portions of them owned by Hans
0009 Reiser, or authorized to be licensed by him, have been in the past,
0010 and likely will be in the future, licensed to other parties under
0011 other licenses. If you add your code to governed files, and don't
0012 want it to be owned by Hans Reiser, put your copyright label on that
0013 code so the poor blight and his customers can keep things straight.
0014 All portions of governed files not labeled otherwise are owned by Hans
0015 Reiser, and by adding your code to it, widely distributing it to
0016 others or sending us a patch, and leaving the sentence in stating that
0017 licensing is governed by the statement in this file, you accept this.
0018 It will be a kindness if you identify whether Hans Reiser is allowed
0019 to license code labeled as owned by you on your behalf other than
0020 under the GPL, because he wants to know if it is okay to do so and put
0021 a check in the mail to you (for non-trivial improvements) when he
0022 makes his next sale. He makes no guarantees as to the amount if any,
0023 though he feels motivated to motivate contributors, and you can surely
0024 discuss this with him before or after contributing. You have the
0025 right to decline to allow him to license your code contribution other
0026 than under the GPL.
0027
0028 Further licensing options are available for commercial and/or other
0029 interests directly from Hans Reiser: hans@reiser.to. If you interpret
0030 the GPL as not allowing those additional licensing options, you read
0031 it wrongly, and Richard Stallman agrees with me, when carefully read
0032 you can see that those restrictions on additional terms do not apply
0033 to the owner of the copyright, and my interpretation of this shall
0034 govern for this license.
0035
0036 Finally, nothing in this license shall be interpreted to allow you to
0037 fail to fairly credit me, or to remove my credits, without my
0038 permission, unless you are an end user not redistributing to others.
0039 If you have doubts about how to properly do that, or about what is
0040 fair, ask. (Last I spoke with him Richard was contemplating how best
0041 to address the fair crediting issue in the next GPL version.)
0042
0043 [END LICENSING]
0044
0045 Reiserfs is a file system based on balanced tree algorithms, which is
0046 described at https://reiser4.wiki.kernel.org/index.php/Main_Page
0047
0048 Stop reading here. Go there, then return.
0049
0050 Send bug reports to yura@namesys.botik.ru.
0051
0052 mkreiserfs and other utilities are in reiserfs/utils, or wherever your
0053 Linux provider put them. There is some disagreement about how useful
0054 it is for users to get their fsck and mkreiserfs out of sync with the
0055 version of reiserfs that is in their kernel, with many important
0056 distributors wanting them out of sync.:-) Please try to remember to
0057 recompile and reinstall fsck and mkreiserfs with every update of
0058 reiserfs, this is a common source of confusion. Note that some of the
0059 utilities cannot be compiled without accessing the balancing code
0060 which is in the kernel code, and relocating the utilities may require
0061 you to specify where that code can be found.
0062
0063 Yes, if you update your reiserfs kernel module you do have to
0064 recompile your kernel, most of the time. The errors you get will be
0065 quite cryptic if your forget to do so.
0066
0067 Real users, as opposed to folks who want to hack and then understand
0068 what went wrong, will want REISERFS_CHECK off.
0069
0070 Hideous Commercial Pitch: Spread your development costs across other OS
0071 vendors. Select from the best in the world, not the best in your
0072 building, by buying from third party OS component suppliers. Leverage
0073 the software component development power of the internet. Be the most
0074 aggressive in taking advantage of the commercial possibilities of
0075 decentralized internet development, and add value through your branded
0076 integration that you sell as an operating system. Let your competitors
0077 be the ones to compete against the entire internet by themselves. Be
0078 hip, get with the new economic trend, before your competitors do. Send
0079 email to hans@reiser.to.
0080
0081 To understand the code, after reading the website, start reading the
0082 code by reading reiserfs_fs.h first.
0083
0084 Hans Reiser was the project initiator, primary architect, source of all
0085 funding for the first 5.5 years, and one of the programmers. He owns
0086 the copyright.
0087
0088 Vladimir Saveljev was one of the programmers, and he worked long hours
0089 writing the cleanest code. He always made the effort to be the best he
0090 could be, and to make his code the best that it could be. What resulted
0091 was quite remarkable. I don't think that money can ever motivate someone
0092 to work the way he did, he is one of the most selfless men I know.
0093
0094 Yura helps with benchmarking, coding hashes, and block pre-allocation
0095 code.
0096
0097 Anatoly Pinchuk is a former member of our team who worked closely with
0098 Vladimir throughout the project's development. He wrote a quite
0099 substantial portion of the total code. He realized that there was a
0100 space problem with packing tails of files for files larger than a node
0101 that start on a node aligned boundary (there are reasons to want to node
0102 align files), and he invented and implemented indirect items and
0103 unformatted nodes as the solution.
0104
0105 Konstantin Shvachko, with the help of the Russian version of a VC,
0106 tried to put me in a position where I was forced into giving control
0107 of the project to him. (Fortunately, as the person paying the money
0108 for all salaries from my dayjob I owned all copyrights, and you can't
0109 really force takeovers of sole proprietorships.) This was something
0110 curious, because he never really understood the value of our project,
0111 why we should do what we do, or why innovation was possible in
0112 general, but he was sure that he ought to be controlling it. Every
0113 innovation had to be forced past him while he was with us. He added
0114 two years to the time required to complete reiserfs, and was a net
0115 loss for me. Mikhail Gilula was a brilliant innovator who also left
0116 in a destructive way that erased the value of his contributions, and
0117 that he was shown much generosity just makes it more painful.
0118
0119 Grigory Zaigralin was an extremely effective system administrator for
0120 our group.
0121
0122 Igor Krasheninnikov was wonderful at hardware procurement, repair, and
0123 network installation.
0124
0125 Jeremy Fitzhardinge wrote the teahash.c code, and he gives credit to a
0126 textbook he got the algorithm from in the code. Note that his analysis
0127 of how we could use the hashing code in making 32 bit NFS cookies work
0128 was probably more important than the actual algorithm. Colin Plumb also
0129 contributed to it.
0130
0131 Chris Mason dived right into our code, and in just a few months produced
0132 the journaling code that dramatically increased the value of ReiserFS.
0133 He is just an amazing programmer.
0134
0135 Igor Zagorovsky is writing much of the new item handler and extent code
0136 for our next major release.
0137
0138 Alexander Zarochentcev (sometimes known as zam, or sasha), wrote the
0139 resizer, and is hard at work on implementing allocate on flush. SGI
0140 implemented allocate on flush before us for XFS, and generously took
0141 the time to convince me we should do it also. They are great people,
0142 and a great company.
0143
0144 Yuri Shevchuk and Nikita Danilov are doing squid cache optimization.
0145
0146 Vitaly Fertman is doing fsck.
0147
0148 Jeff Mahoney, of SuSE, contributed a few cleanup fixes, most notably
0149 the endian safe patches which allow ReiserFS to run on any platform
0150 supported by the Linux kernel.
0151
0152 SuSE, IntegratedLinux.com, Ecila, MP3.com, bigstorage.com, and the
0153 Alpha PC Company made it possible for me to not have a day job
0154 anymore, and to dramatically increase our staffing. Ecila funded
0155 hypertext feature development, MP3.com funded journaling, SuSE funded
0156 core development, IntegratedLinux.com funded squid web cache
0157 appliances, bigstorage.com funded HSM, and the alpha PC company funded
0158 the alpha port. Many of these tasks were helped by sponsors other
0159 than the ones just named. SuSE has helped in much more than just
0160 funding....
0161