^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) [LICENSING]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ReiserFS is hereby licensed under the GNU General
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Public License version 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Source code files that contain the phrase "licensing governed by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) reiserfs/README" are "governed files" throughout this file. Governed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) files are licensed under the GPL. The portions of them owned by Hans
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Reiser, or authorized to be licensed by him, have been in the past,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) and likely will be in the future, licensed to other parties under
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) other licenses. If you add your code to governed files, and don't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) want it to be owned by Hans Reiser, put your copyright label on that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) code so the poor blight and his customers can keep things straight.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) All portions of governed files not labeled otherwise are owned by Hans
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Reiser, and by adding your code to it, widely distributing it to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) others or sending us a patch, and leaving the sentence in stating that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) licensing is governed by the statement in this file, you accept this.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) It will be a kindness if you identify whether Hans Reiser is allowed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) to license code labeled as owned by you on your behalf other than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) under the GPL, because he wants to know if it is okay to do so and put
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) a check in the mail to you (for non-trivial improvements) when he
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) makes his next sale. He makes no guarantees as to the amount if any,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) though he feels motivated to motivate contributors, and you can surely
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) discuss this with him before or after contributing. You have the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) right to decline to allow him to license your code contribution other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) than under the GPL.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Further licensing options are available for commercial and/or other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) interests directly from Hans Reiser: hans@reiser.to. If you interpret
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) the GPL as not allowing those additional licensing options, you read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) it wrongly, and Richard Stallman agrees with me, when carefully read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) you can see that those restrictions on additional terms do not apply
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) to the owner of the copyright, and my interpretation of this shall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) govern for this license.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Finally, nothing in this license shall be interpreted to allow you to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) fail to fairly credit me, or to remove my credits, without my
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) permission, unless you are an end user not redistributing to others.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) If you have doubts about how to properly do that, or about what is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) fair, ask. (Last I spoke with him Richard was contemplating how best
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) to address the fair crediting issue in the next GPL version.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) [END LICENSING]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Reiserfs is a file system based on balanced tree algorithms, which is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) described at https://reiser4.wiki.kernel.org/index.php/Main_Page
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) Stop reading here. Go there, then return.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Send bug reports to yura@namesys.botik.ru.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) mkreiserfs and other utilities are in reiserfs/utils, or wherever your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) Linux provider put them. There is some disagreement about how useful
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) it is for users to get their fsck and mkreiserfs out of sync with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) version of reiserfs that is in their kernel, with many important
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) distributors wanting them out of sync.:-) Please try to remember to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) recompile and reinstall fsck and mkreiserfs with every update of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) reiserfs, this is a common source of confusion. Note that some of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) utilities cannot be compiled without accessing the balancing code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) which is in the kernel code, and relocating the utilities may require
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) you to specify where that code can be found.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) Yes, if you update your reiserfs kernel module you do have to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) recompile your kernel, most of the time. The errors you get will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) quite cryptic if your forget to do so.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) Real users, as opposed to folks who want to hack and then understand
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) what went wrong, will want REISERFS_CHECK off.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) Hideous Commercial Pitch: Spread your development costs across other OS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) vendors. Select from the best in the world, not the best in your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) building, by buying from third party OS component suppliers. Leverage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) the software component development power of the internet. Be the most
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) aggressive in taking advantage of the commercial possibilities of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) decentralized internet development, and add value through your branded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) integration that you sell as an operating system. Let your competitors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) be the ones to compete against the entire internet by themselves. Be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) hip, get with the new economic trend, before your competitors do. Send
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) email to hans@reiser.to.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) To understand the code, after reading the website, start reading the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) code by reading reiserfs_fs.h first.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) Hans Reiser was the project initiator, primary architect, source of all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) funding for the first 5.5 years, and one of the programmers. He owns
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) the copyright.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) Vladimir Saveljev was one of the programmers, and he worked long hours
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) writing the cleanest code. He always made the effort to be the best he
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) could be, and to make his code the best that it could be. What resulted
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) was quite remarkable. I don't think that money can ever motivate someone
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) to work the way he did, he is one of the most selfless men I know.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) Yura helps with benchmarking, coding hashes, and block pre-allocation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) Anatoly Pinchuk is a former member of our team who worked closely with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) Vladimir throughout the project's development. He wrote a quite
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) substantial portion of the total code. He realized that there was a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) space problem with packing tails of files for files larger than a node
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) that start on a node aligned boundary (there are reasons to want to node
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) align files), and he invented and implemented indirect items and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) unformatted nodes as the solution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) Konstantin Shvachko, with the help of the Russian version of a VC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) tried to put me in a position where I was forced into giving control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) of the project to him. (Fortunately, as the person paying the money
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) for all salaries from my dayjob I owned all copyrights, and you can't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) really force takeovers of sole proprietorships.) This was something
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) curious, because he never really understood the value of our project,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) why we should do what we do, or why innovation was possible in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) general, but he was sure that he ought to be controlling it. Every
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) innovation had to be forced past him while he was with us. He added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) two years to the time required to complete reiserfs, and was a net
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) loss for me. Mikhail Gilula was a brilliant innovator who also left
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) in a destructive way that erased the value of his contributions, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) that he was shown much generosity just makes it more painful.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) Grigory Zaigralin was an extremely effective system administrator for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) our group.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) Igor Krasheninnikov was wonderful at hardware procurement, repair, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) network installation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) Jeremy Fitzhardinge wrote the teahash.c code, and he gives credit to a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) textbook he got the algorithm from in the code. Note that his analysis
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) of how we could use the hashing code in making 32 bit NFS cookies work
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) was probably more important than the actual algorithm. Colin Plumb also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) contributed to it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) Chris Mason dived right into our code, and in just a few months produced
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) the journaling code that dramatically increased the value of ReiserFS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) He is just an amazing programmer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) Igor Zagorovsky is writing much of the new item handler and extent code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) for our next major release.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) Alexander Zarochentcev (sometimes known as zam, or sasha), wrote the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) resizer, and is hard at work on implementing allocate on flush. SGI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) implemented allocate on flush before us for XFS, and generously took
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) the time to convince me we should do it also. They are great people,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) and a great company.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) Yuri Shevchuk and Nikita Danilov are doing squid cache optimization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) Vitaly Fertman is doing fsck.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) Jeff Mahoney, of SuSE, contributed a few cleanup fixes, most notably
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) the endian safe patches which allow ReiserFS to run on any platform
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) supported by the Linux kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) SuSE, IntegratedLinux.com, Ecila, MP3.com, bigstorage.com, and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) Alpha PC Company made it possible for me to not have a day job
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) anymore, and to dramatically increase our staffing. Ecila funded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) hypertext feature development, MP3.com funded journaling, SuSE funded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) core development, IntegratedLinux.com funded squid web cache
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) appliances, bigstorage.com funded HSM, and the alpha PC company funded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) the alpha port. Many of these tasks were helped by sponsors other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) than the ones just named. SuSE has helped in much more than just
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) funding....
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)