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