Annotation of wikisrc/users/jdf.mdwn, revision 1.30

1.10      wiki        1: **Contents**
                      2: 
1.8       jdf         3: [[!toc levels=2 ]]
1.1       wiki        4: 
                      5: # jdf's wiki page
1.2       wiki        6: 
1.7       jdf         7: Note: This is not what I'm really working on, it's just a place to gather some 
                      8: notes I took about some topics.
1.2       wiki        9: 
1.11      jdf        10: ## Guide migration
                     11: 
                     12: I'm currently trying to migrate the NetBSD guide to the wiki. The relevant
                     13: files are these ones:
                     14: 
                     15:  * chap-exinst
                     16:  * net-practice
                     17: 
                     18: Already done:
                     19: 
1.13      jdf        20:  * audio
1.21      jdf        21:  * bluetooth
1.12      jdf        22:  * boot
1.21      jdf        23:  * build
1.19      jdf        24:  * carp
1.22      jdf        25:  * ccd
                     26:  * cgd
1.24      jdf        27:  * cons
1.26      jdf        28:  * dns
1.24      jdf        29:  * edit
1.17      jdf        30:  * index
1.18      jdf        31:  * inetd
1.17      jdf        32:  * intro
1.30    ! jdf        33:  * inst-media
1.20      jdf        34:  * fetch
1.16      jdf        35:  * kernel
1.25      jdf        36:  * linux
                     37:  * lvm
1.28      jdf        38:  * mail
1.20      jdf        39:  * misc
1.29      jdf        40:  * net-intro
1.28      jdf        41:  * net-services
1.26      jdf        42:  * pam
1.27      jdf        43:  * print
1.14      jdf        44:  * raidframe
1.27      jdf        45:  * rmmedia
1.13      jdf        46:  * rc
1.18      jdf        47:  * tuning
1.12      jdf        48:  * updating
1.16      jdf        49:  * upgrading
1.12      jdf        50:  * veriexec
1.15      jdf        51:  * x
1.11      jdf        52: 
                     53: I started working on it in `guide/`, though the original proposal
                     54: was to store it in `guide/netbsd`. However, whoever wants to change the
                     55: directory can do so.
                     56: 
1.23      jdf        57: ## The new NetBSD guide
                     58: 
                     59: The NetBSD guide, as well as its contents, is outdated. Of course there's 
                     60: current documentation as well in it, but many parts of it are outdated.
                     61: The question is: What is the future of the NetBSD guide?
                     62: 
                     63: Should we continue having something ordered by *book chapters*? Or should we 
                     64: make it completely unordered with many howtos inside a wiki, which is also 
                     65: printable, but not in a useful order?
                     66: 
                     67: In my opinion, we should continue having a set of articles where the basic 
                     68: subsystems of NetBSD are explained, but in the wiki. It shouldn't be too 
                     69: difficult to create a book from that if you want to.
                     70: From all these subsystems, imho, the following topics should be covered:
                     71: 
                     72: System basics:
                     73: 
                     74:  * Installation
                     75:  * Security (CGD, PGP, veriexec, PAM)
                     76:  * Disk handling (GPT, disklabel, MBR), creating filesystems, handling USB 
                     77:    flashdrives, automounting, CDs
                     78:  * RAIDs with raidframe
                     79:  * LVM
                     80:  * Audio setup
                     81:  * Keeping a NetBSD installation up-to-date
                     82:  * The rc system, as compared to systemd and SysV
                     83:  * Editing with vi
                     84:  * X setup, graphics drivers, console drivers
                     85:  * Backups with dump/restore and other options
                     86:  * Printing (with cups?)
                     87: 
                     88: Networking:
                     89: 
                     90:  * Basic network setup
                     91:  * inetd setup
                     92:  * Bluetooth
                     93:  * DNS server setup and related issues
                     94:  * Firewalling (describing *all* or linking guide of others)
                     95: 
                     96: Building NetBSD:
                     97: 
                     98:  * Building the system with `build.sh`
                     99:  * Configuring the kernel
                    100:  * Fetching sources, staying -current
                    101: 
                    102: Using extra packages:
                    103: 
                    104:  * Emulating Linux
                    105:  * Using pkgsrc
                    106:  * Using binary packages, using pkgin
                    107:  * Installing a desktop environment
                    108:  * Things to remember (e.g., no mplayer)
                    109: 
1.7       jdf       110: ## NetBSD flavoured
1.2       wiki      111: 
1.7       jdf       112: Currently, NetBSD is a very generic operating system, leaving almost all
                    113: choices up to the user. While some consider this a strength, and it
1.13      jdf       114: definitely is for people who know what they're doing, it's an obstacle for
1.7       jdf       115: people who then have to setup *everything* by hand.
                    116: 
                    117: Creating a *NetBSD flavoured* distribution shouldn't be much work, and require 
                    118: just minor sysinst modifications.
                    119: It shouldn't be much work to just package distribution sets that already
                    120: include a list of packages it installs and several preconfigured configuration
                    121: files, maybe also some additional wrapper scripts.
                    122: On the other hand, you could also add some package calls to sysinst and just 
                    123: provide a list of packages you consider necessary.
                    124: 
                    125: My original attempt was to create a range of distributions for different 
                    126: purposes, i.e. one for developers, one for graphic designers, one for servers, 
                    127: etc. I don't know if this is the right way, esp. since some of the applications 
                    128: are *very* specific. You cannot really provide a sane server default 
                    129: installation except for some basic things like installing a vim, but that's all.
                    130: My current idea is to provide just one, maybe named *NetBSD flavoured*, with at 
                    131: least the following tools on board:
1.9       jdf       132: 
1.7       jdf       133:  * vim
                    134:  * pkgin
                    135:  * git
                    136:  * fossil
                    137:  * subversion
                    138:  * some other important VCSes
                    139:  * light-desktop (i.e., LXDE)
                    140:  * screen (tmux is in base)
                    141:  * some sane X terminal emulators
                    142:  * a browser (Firefox?!)
                    143:  * a mailer (Thunderbird? Claws-mail?)
                    144:  * emacs (maybe too large?)
                    145:  * perl
                    146:  * python
                    147:  * mplayer (when it's possible to pack it up)
                    148:  * pdf viewer
                    149:  * preconfigured bozohttpd running on localhost showing documentation
                    150: 
                    151: ## NetBSD documentation
                    152: 
1.8       jdf       153: In [this 
                    154: post](http://mail-index.netbsd.org/netbsd-docs/2012/09/20/msg000295.html)
                    155: I shared some ideas about what to do with documentation. Though much of it 
1.7       jdf       156: was proven not practical by the replies, I still have one idea: Unify 
                    157: documentation of NetBSD, and provide it all on a NetBSD system.
                    158: 
                    159: The first step is to merge as much content as possible into the NetBSD wiki. 
                    160: Currently, the NetBSD documentation is very diverse in its distribution form.
                    161: 
                    162: Then, the Google Code-In produced some nice results, including a CGI for a small 
                    163: markdown wiki to browse the wiki (if it was offline), and maybe even a terminal 
                    164: markdown browser.
                    165: 
                    166: Finally, ship these two in a pkgsrc package or even with base, and provide a 
                    167: small script which regularly updates the documentation.
                    168: 
                    169: ## NetBSD website
                    170: 
                    171: Currently, the NetBSD website is written in HTML and Docbook and requires many 
                    172: tools to be edited and committed. The final goal should be to have just a small 
                    173: homepage with a bit important information, but all the essential technical 
                    174: information should be in the wiki. There's also a separate page for this: 
                    175: [[htdocs_migration]].
                    176: 
                    177: Though the plan is currently to migrate *all* contents to the wiki, I don't 
                    178: think this is the way to go. A wiki just doesn't leave a good impression.
                    179: 
                    180: ## NetBSD community and marketing
                    181: 
                    182: Just some thoughts... I think NetBSD has a very bad way of making technical 
                    183: ecisions which are counterproductive from a marketing point of view, or just are 
                    184: not used for marketing purposes.
                    185: 
                    186: The world has changed; nowadays, there's a growing *hacker community* which 
                    187: consists of many people with an age below 30. They're just not used to the 
                    188: flexibility of the old tools Unix provides, and to the flexibility you have 
                    189: with a modern Linux.
                    190: 
                    191: There are repeating questions why NetBSD doesn't use git as its primary VCS, but 
                    192: rather CVS. CVS *is* indeed a very mighty tool, but many people don't know. They 
                    193: like git more because they can explicitly `push` with it (and don't know about 
                    194: hooks in CVS or Subversion).
                    195: The same holds for many other decisions.
                    196: 
                    197: NetBSD has a very... oldish view of how a community should be organised. On the 
                    198: one hand, there are the developers, which are coding the project, maintaining 
                    199: the website, maintaining packages, maintaining documentation, organising events, 
                    200: organising NetBSD itself... and on the other hand, there are the users. They're 
                    201: rather consumers than contributors.
                    202: 
                    203: The few ones which want to contribute are doing so, and after some time becoming 
                    204: developers with the right and possibility to do everything, but there's nothing
                    205: in between. There's only few community involvement overall, though there are
                    206: many topics which don't require a developer status.
                    207: I think breaking with the old habits and providing more community involvement 
                    208: and community support is the way to go, but except for starting with a 
                    209: user-editable wiki, I don't have many ideas how to do so.
                    210: 
                    211: ## NetBSD current
                    212: 
                    213: The same problem exists imho with the release cycle. The standard release cycle 
                    214: of NetBSD is too slow for many people who use it privately (just see how 
                    215: wide-distributed Arch Linux got), and tracking current is a rather obscure thing 
                    216: with compiling things on your own, etc. ...
                    217: And it's not well-documented. There *are* changes, but who knows them? Which was 
                    218: the current version where tmux was imported? Etc.
1.2       wiki      219: 
1.7       jdf       220: Tracking these changes more centrally, and providing a nice way to install and 
                    221: track a current installation would be a great benefit for NetBSD.

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb