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