162306a36Sopenharmony_ci[LICENSING] 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciReiserFS is hereby licensed under the GNU General 462306a36Sopenharmony_ciPublic License version 2. 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciSource code files that contain the phrase "licensing governed by 762306a36Sopenharmony_cireiserfs/README" are "governed files" throughout this file. Governed 862306a36Sopenharmony_cifiles are licensed under the GPL. The portions of them owned by Hans 962306a36Sopenharmony_ciReiser, or authorized to be licensed by him, have been in the past, 1062306a36Sopenharmony_ciand likely will be in the future, licensed to other parties under 1162306a36Sopenharmony_ciother licenses. If you add your code to governed files, and don't 1262306a36Sopenharmony_ciwant it to be owned by Hans Reiser, put your copyright label on that 1362306a36Sopenharmony_cicode so the poor blight and his customers can keep things straight. 1462306a36Sopenharmony_ciAll portions of governed files not labeled otherwise are owned by Hans 1562306a36Sopenharmony_ciReiser, and by adding your code to it, widely distributing it to 1662306a36Sopenharmony_ciothers or sending us a patch, and leaving the sentence in stating that 1762306a36Sopenharmony_cilicensing is governed by the statement in this file, you accept this. 1862306a36Sopenharmony_ciIt will be a kindness if you identify whether Hans Reiser is allowed 1962306a36Sopenharmony_cito license code labeled as owned by you on your behalf other than 2062306a36Sopenharmony_ciunder the GPL, because he wants to know if it is okay to do so and put 2162306a36Sopenharmony_cia check in the mail to you (for non-trivial improvements) when he 2262306a36Sopenharmony_cimakes his next sale. He makes no guarantees as to the amount if any, 2362306a36Sopenharmony_cithough he feels motivated to motivate contributors, and you can surely 2462306a36Sopenharmony_cidiscuss this with him before or after contributing. You have the 2562306a36Sopenharmony_ciright to decline to allow him to license your code contribution other 2662306a36Sopenharmony_cithan under the GPL. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciFurther licensing options are available for commercial and/or other 2962306a36Sopenharmony_ciinterests directly from Hans Reiser: hans@reiser.to. If you interpret 3062306a36Sopenharmony_cithe GPL as not allowing those additional licensing options, you read 3162306a36Sopenharmony_ciit wrongly, and Richard Stallman agrees with me, when carefully read 3262306a36Sopenharmony_ciyou can see that those restrictions on additional terms do not apply 3362306a36Sopenharmony_cito the owner of the copyright, and my interpretation of this shall 3462306a36Sopenharmony_cigovern for this license. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ciFinally, nothing in this license shall be interpreted to allow you to 3762306a36Sopenharmony_cifail to fairly credit me, or to remove my credits, without my 3862306a36Sopenharmony_cipermission, unless you are an end user not redistributing to others. 3962306a36Sopenharmony_ciIf you have doubts about how to properly do that, or about what is 4062306a36Sopenharmony_cifair, ask. (Last I spoke with him Richard was contemplating how best 4162306a36Sopenharmony_cito address the fair crediting issue in the next GPL version.) 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci[END LICENSING] 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciReiserfs is a file system based on balanced tree algorithms, which is 4662306a36Sopenharmony_cidescribed at https://reiser4.wiki.kernel.org/index.php/Main_Page 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ciStop reading here. Go there, then return. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciSend bug reports to yura@namesys.botik.ru. 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_cimkreiserfs and other utilities are in reiserfs/utils, or wherever your 5362306a36Sopenharmony_ciLinux provider put them. There is some disagreement about how useful 5462306a36Sopenharmony_ciit is for users to get their fsck and mkreiserfs out of sync with the 5562306a36Sopenharmony_civersion of reiserfs that is in their kernel, with many important 5662306a36Sopenharmony_cidistributors wanting them out of sync.:-) Please try to remember to 5762306a36Sopenharmony_cirecompile and reinstall fsck and mkreiserfs with every update of 5862306a36Sopenharmony_cireiserfs, this is a common source of confusion. Note that some of the 5962306a36Sopenharmony_ciutilities cannot be compiled without accessing the balancing code 6062306a36Sopenharmony_ciwhich is in the kernel code, and relocating the utilities may require 6162306a36Sopenharmony_ciyou to specify where that code can be found. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ciYes, if you update your reiserfs kernel module you do have to 6462306a36Sopenharmony_cirecompile your kernel, most of the time. The errors you get will be 6562306a36Sopenharmony_ciquite cryptic if your forget to do so. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ciReal users, as opposed to folks who want to hack and then understand 6862306a36Sopenharmony_ciwhat went wrong, will want REISERFS_CHECK off. 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ciHideous Commercial Pitch: Spread your development costs across other OS 7162306a36Sopenharmony_civendors. Select from the best in the world, not the best in your 7262306a36Sopenharmony_cibuilding, by buying from third party OS component suppliers. Leverage 7362306a36Sopenharmony_cithe software component development power of the internet. Be the most 7462306a36Sopenharmony_ciaggressive in taking advantage of the commercial possibilities of 7562306a36Sopenharmony_cidecentralized internet development, and add value through your branded 7662306a36Sopenharmony_ciintegration that you sell as an operating system. Let your competitors 7762306a36Sopenharmony_cibe the ones to compete against the entire internet by themselves. Be 7862306a36Sopenharmony_cihip, get with the new economic trend, before your competitors do. Send 7962306a36Sopenharmony_ciemail to hans@reiser.to. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ciTo understand the code, after reading the website, start reading the 8262306a36Sopenharmony_cicode by reading reiserfs_fs.h first. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ciHans Reiser was the project initiator, primary architect, source of all 8562306a36Sopenharmony_cifunding for the first 5.5 years, and one of the programmers. He owns 8662306a36Sopenharmony_cithe copyright. 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ciVladimir Saveljev was one of the programmers, and he worked long hours 8962306a36Sopenharmony_ciwriting the cleanest code. He always made the effort to be the best he 9062306a36Sopenharmony_cicould be, and to make his code the best that it could be. What resulted 9162306a36Sopenharmony_ciwas quite remarkable. I don't think that money can ever motivate someone 9262306a36Sopenharmony_cito work the way he did, he is one of the most selfless men I know. 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ciYura helps with benchmarking, coding hashes, and block pre-allocation 9562306a36Sopenharmony_cicode. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ciAnatoly Pinchuk is a former member of our team who worked closely with 9862306a36Sopenharmony_ciVladimir throughout the project's development. He wrote a quite 9962306a36Sopenharmony_cisubstantial portion of the total code. He realized that there was a 10062306a36Sopenharmony_cispace problem with packing tails of files for files larger than a node 10162306a36Sopenharmony_cithat start on a node aligned boundary (there are reasons to want to node 10262306a36Sopenharmony_cialign files), and he invented and implemented indirect items and 10362306a36Sopenharmony_ciunformatted nodes as the solution. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ciKonstantin Shvachko, with the help of the Russian version of a VC, 10662306a36Sopenharmony_citried to put me in a position where I was forced into giving control 10762306a36Sopenharmony_ciof the project to him. (Fortunately, as the person paying the money 10862306a36Sopenharmony_cifor all salaries from my dayjob I owned all copyrights, and you can't 10962306a36Sopenharmony_cireally force takeovers of sole proprietorships.) This was something 11062306a36Sopenharmony_cicurious, because he never really understood the value of our project, 11162306a36Sopenharmony_ciwhy we should do what we do, or why innovation was possible in 11262306a36Sopenharmony_cigeneral, but he was sure that he ought to be controlling it. Every 11362306a36Sopenharmony_ciinnovation had to be forced past him while he was with us. He added 11462306a36Sopenharmony_citwo years to the time required to complete reiserfs, and was a net 11562306a36Sopenharmony_ciloss for me. Mikhail Gilula was a brilliant innovator who also left 11662306a36Sopenharmony_ciin a destructive way that erased the value of his contributions, and 11762306a36Sopenharmony_cithat he was shown much generosity just makes it more painful. 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ciGrigory Zaigralin was an extremely effective system administrator for 12062306a36Sopenharmony_ciour group. 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciIgor Krasheninnikov was wonderful at hardware procurement, repair, and 12362306a36Sopenharmony_cinetwork installation. 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ciJeremy Fitzhardinge wrote the teahash.c code, and he gives credit to a 12662306a36Sopenharmony_citextbook he got the algorithm from in the code. Note that his analysis 12762306a36Sopenharmony_ciof how we could use the hashing code in making 32 bit NFS cookies work 12862306a36Sopenharmony_ciwas probably more important than the actual algorithm. Colin Plumb also 12962306a36Sopenharmony_cicontributed to it. 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ciChris Mason dived right into our code, and in just a few months produced 13262306a36Sopenharmony_cithe journaling code that dramatically increased the value of ReiserFS. 13362306a36Sopenharmony_ciHe is just an amazing programmer. 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ciIgor Zagorovsky is writing much of the new item handler and extent code 13662306a36Sopenharmony_cifor our next major release. 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ciAlexander Zarochentcev (sometimes known as zam, or sasha), wrote the 13962306a36Sopenharmony_ciresizer, and is hard at work on implementing allocate on flush. SGI 14062306a36Sopenharmony_ciimplemented allocate on flush before us for XFS, and generously took 14162306a36Sopenharmony_cithe time to convince me we should do it also. They are great people, 14262306a36Sopenharmony_ciand a great company. 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ciYuri Shevchuk and Nikita Danilov are doing squid cache optimization. 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ciVitaly Fertman is doing fsck. 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ciJeff Mahoney, of SuSE, contributed a few cleanup fixes, most notably 14962306a36Sopenharmony_cithe endian safe patches which allow ReiserFS to run on any platform 15062306a36Sopenharmony_cisupported by the Linux kernel. 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ciSuSE, IntegratedLinux.com, Ecila, MP3.com, bigstorage.com, and the 15362306a36Sopenharmony_ciAlpha PC Company made it possible for me to not have a day job 15462306a36Sopenharmony_cianymore, and to dramatically increase our staffing. Ecila funded 15562306a36Sopenharmony_cihypertext feature development, MP3.com funded journaling, SuSE funded 15662306a36Sopenharmony_cicore development, IntegratedLinux.com funded squid web cache 15762306a36Sopenharmony_ciappliances, bigstorage.com funded HSM, and the alpha PC company funded 15862306a36Sopenharmony_cithe alpha port. Many of these tasks were helped by sponsors other 15962306a36Sopenharmony_cithan the ones just named. SuSE has helped in much more than just 16062306a36Sopenharmony_cifunding.... 16162306a36Sopenharmony_ci 162