Changes between Version 1 and Version 2 of LFSFuture


Ignore:
Timestamp:
05/16/2008 11:13:47 PM (16 years ago)
Author:
bdubbs@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • LFSFuture

    v1 v2  
    1 = LFS Future =
     1= The Future of Linux From Scratch =
     2
     3The main discussion of late is the direction the LFS project should take. There are numerous improvements to make. This document highlights the following:
     4
     5 1. Educational content
     6 2. Package management and automation
     7 3. Linux Standards Base
     8 4. 64-bit LFS
     9 5. Licensing and trademark
     10 6. Legal organization
     11
     12== 1. Educational content ==
     13
     14The book needs to improve on the educational front. This “issue” will never get “resolved” as it will always be an ongoing project. We can, however, pay extra attention to a few areas in particular.
     15
     16There are many areas where after installing a package you don't come away with a true understanding of what you have just done or why a package is needed. Sometimes all you get from it is that some other package required it and you'll settle for that.
     17
     18In some cases there is no real reason why a package has been selected for inclusion in the book. Take Vim for example. There is no technical reason for choosing Vim over any other editor other than the fact we had to pick one. Vim was as good choice at the time. Those bits of information should be communicated.
     19
     20We should also expand significantly on major areas and subsystems. For example, both kernel configuration and udev setup need elaboration. The user is sometimes left hanging after (or in the case of kernel configuration, before) installation of a package. Additional help, information and suggestions would go a long way to steer our users into the right direction.
     21
     22== 2. Package management and automation ==
     23
     24When people talk about package management it's not always clear what is meant. To simplify, people will typically fall into one or both of the following scenarios:
     25
     26  * Keeping track of files that were installed and modified by a package's installation
     27  * Automating the installation of individual packages or the entire system. This would including re-deploying the installed packages to another system without having to recompile again.
     28
     29There have been discussions about which package management system to use. We would either have to decide on one and have the book use it or not pick one and devote a chapter to the various choices. In the latter case, the user decides which one (or none) to use.
     30
     31Choice is good. But it can also be an Achilles heel. If the book is to be made PM-aware we need a sample implementation. Not only for our own internal needs (to speed up editorial and testing cycles) but also to show users how it can be done in showing a fully implemented and working system.
     32
     33In cases like this it's often best to decide on one to primarily use and assume its use throughout the book. A chapter that talks about Package Management can explain why we chose the one we did and point out that other options exist as well.
     34
     35We likely won't have the resources to support every kind in the book itself. Keeping one up to date will be enough work as it is on an on-going basis.
     36
     37If the book is going to officially support a system, it should be one that can provide automated installations and dependency resolving. Not just an installation logger that keeps track of installed and modified files. We'd definitely point out that such a method exists and could be good enough for a group of people, but most people would benefit from something a little more advanced.
     38
     39Another method of installing software that needs to be considered is to initially install the software in an alternate directory, say /tmp/<packagname> for the user to inspect the files actually installed. This is generally done with a command similar to
     40
     41  make DESTDIR=/tmp/packagename install
     42
     43The DESTDIR can be a base location for a package manager to gather its data.
     44Note that many, but not all packages honor DESTDIR.
     45
     46We'll also need to work out how to automate the generation of package management configuration files themselves. Certain files need to be generated to allow automatic building of the packages. The XML code that makes up the book will need some restructuring so build scripts/RPM spec files/etc can automatically be generated rather than keeping a separate set of files in sync with the book.
     47
     48When using/mentioning the automated tools in the book along with the manual installation commands we'd provide the details surrounding the automation. For instance, rather than just telling people to run “<cmd> install gcc,” explain what happens when you run that, which file(s) make up the inner workings of that command. And most importantly how to modify the file(s) to change the installation process' behaviour.
     49
     50That would maintain the educational focus of LFS, provide some valuable insights in how a regular distribution's package management system might work and adds value for people who aren't doing LFS for the first time.
     51
     52== 3. Linux Standards Base ==
     53
     54Linux Standards Base, or LSB, (http://www.linux-foundation.org/en/LSB) is a standard designed to provide interoperability between applications and the Linux operating system. Currently all major distributions comply with the LSB. Testing of compliance is done through a test kit. LSB should be introduced in LFS and instructions for making LFS/BLFS LSB compliant fleshed out in BLFS.
     55
     56== 4. 64-bit Support ==
     57
     58Multi-lib or Pure. That is the question.
     59
     60== 5. Licensing and trademark ==
     61
     62The current license in the LFS book doesn't do anything to protect us. Bruce has been in touch with an attorney with the Software Freedom Law Center who made some suggestions. It boils down to licensing the book under Creative Commons and an additional note along the lines of “Computer instructions may be extracted from the book under the MIT license.”
     63
     64This is not the final verdict but some license changes should be discussed and then implemented.
     65
     66Another suggestion made is for us to consider trademarking “Linux From Scratch” and probably “Beyond Linux From Scratch".  Since Linus holds the Linux trademark we need to get permission (http://www.linuxmark.org/license.php).