What is the FreeBSD plan?
I don’t know what the FreeBSD plan is. Unfortunately, I feel that if there is one, it is not a very well-rounded on. Maybe it only focuses on development and might not have a big focus on also important tasks like advertising and marketing, documentation, and acquiring new committers. All of which is important because I am not the only that thinks that FreeBSD needs fresh Blood!
Here is a simple step by step plan to make the FreeBSD community bigger. They aren’t all my ideas, many have been mentioned by other people in the forums or elsewhere.
Advertising and Marketing Department
- Get one. Get an advertising team, however you have to do it.
- Maybe the FreeBSD foundation hire a part time advertising professional (or maybe iXSystems could let one of theirs donate some time) who gets as much help as possible from college students majoring in Advertising and Marketing as unpaid internships.
- Give them goals to 1) get more committers, 2) get more users, 3) Get more Enterprise and Small business exposure and usage.
- Get a list of companies that use FreeBSD and don’t ask them for donations, ask them to buy feature enhancements. They are more likely to pay more for an enhancement than they are willing to donate.
- Get a list of all BSD user’s group email. Start using them and encouraging them to hold meetings, improve the user’s groups, etc…
- Get a list of all college’s and their Computer Science staff members and make it standard practice that CS degrees can get internship credit for working on FreeBSD. Same for English Technical writing and FreeBSD Documentation, same for advertising and marketing and FreeBSD advocacy and marketing.
Documentation Department
- Make documentation contributions easy.
- Make the FreeBSD documentation pages wiki editable. Anyone can edit the page, like Wikipedia. Yes, it would be fine if a page could have an person or team who has to approve the change, because we have to let the localization teams know that a change was submitted.
- Make the man pages available as a wiki, and the man page updates are included in the next release.
- Make these training videos:
- Getting started with FreeBSD – Install and Usage.
- Getting started with FreeBSD – Documentation
- Getting Started with FreeBSD – User land development and debugging
- Getting Started with FreeBSD – Kernel Development and debugging
- Getting Started with FreeBSD – Contributing to the KDE on FreeBSD project.
- Getting Started with FreeBSD – Contributing to the FreeBSD GNOME project.
- Getting Started with FreeBSD – Remote debugging
- …continue as needed
- Get a community site up. Not just a forum site, but a community site.
- Write a link between IRC and the community site so a persons IRC posts are also on the community.
- Write a link between the mailing lists and the community so emails are on the community.
- Provide FreeBSD User’s groups free sites and mailing lists but encourage them to get $10 a month in contributions each year to sustain it.
- Support the Advertising and Marketing team.
- Implement Kanban as a process for managing your work.
Development Department
- Join the desktop world in a big way. FreeBSD is not just a server. It must have a solid desktop distribution. PC-BSD exists (though the name is not marketing friendly). Get a marketing friendly OS Name, and a marketing friendly logo, and create a desktop distro that has a chance at attracting new users. Let the Advertising an Marketing team determine the name and brand of the new desktop. (I don’t care if the distro is PC-BSD as long as it is re-branded.)
- Build a graphical newbie proof installer that can install the server or desktop. (I know, many of us have come to love the simplicity of sysinstall, but I still remember my first year with FreeBSD when I hated it.)
- Include Mono in the install of all desktop versions of FreeBSD. Lets face it, C# developers are everywhere and if the user land were C#, it would be much easier to get dev work done.
- Support the Advertising and Marketing teams by sponsoring internships, maybe at your Alma mater.
- Create a ready-to-dev on Virtual Machine.
- Support the documentation team by making docs “Getting Started” easier.
- Make the FreeBSD build easy to replicate in a graphical IDE. The new generation has few individuals who want to learn vi and gdb or otherwise work from the command line. They want to build and debug elsewhere.
- Get the FreeBSD projects building with a Graphical IDE. Lets leave the ability to build with make but add an a project file. I don’t care what graphical IDE is chosen, Eclipse, KDevelop, Code::Blocks, MonoDevelop, etc…Just pick one and make it happen.
- Have a master project file at the root of the build that will do everything, build the entire FreeBSD source, in debug or release.
- Update the ready-to-dev on Virtual Machine to be include the graphical IDE and be ready to build and debug.
- Maybe there is a reason to make a few different types of ready-to-dev virtual machines.
- Implement Kanban as a process for managing your work, I recommend a web site version for open source communities. Each committer can have a view of their work just for them.
Well, that is the plan that has formed in the back of my head the past ten years that I have been involved with FreeBSD. Unfortunately, most of the above is not happening. PC-BSD is helping with #1 and #2 of the development plan, which is great!
Click to read more ideas for improving FreeBSD.
Some of the proposals I would support at once, others are in my opinion questionable, like C# in base, training videos, etc. At first, there is a massive lack of manpower, secondly, there is lack of money and some huge misunderstanding.
You're talking of the _community_, but you're asking FreeBSD to do certain things. It's rather easy ... do you like training videos? Create some of it, do you like more books around FreeBSD, write some, etc. This is the task of a community. Finally I see not much sense in creating shiny news desktop tools for a developer, because most problems arise from the project goals itself: BSD is about software design, therefore there is more planning involved instead of creating mere hacks, which just work. The latter is the credo of the Linux community, it contains certain advantages, but it comes with a plethora of disadvantages too.
Second major problem: look at the developer summits, lots of Apple hardware. Well, it is a problem if the developer community consists to some degree just of people developing with the server in mind, leaving the desktop for Mac OS. iXSystems cannot compensate this with their PC-BSD approach, we need more developers using their OS also on their very own desktop.
Thanks for you comments.
The C# thing, I meant to include it in the Desktop OS only by default, definitely not in the base system.
I am asking "them" to do certain things, yes. I should have used the word "we" because "we" are part of the community. That means "me" too. I feel like my posts contribute to FreeBSD, and I submit bugs, try to give answers on the forums. I hope to get involved on the dev side some day.
FreeBSD is more than a community in some ways though. There is a FreeBSD foundation that is an organization, there is iXSystems and PC-BSD, who are actually doing a lot of the things on the list and I am so much happier with PC-BSD 8.2 than I have been with previous builds and I love where they are going in 9. I have always wondered if the ties to Berkley are gone or if they had access to say the Berkley advertising and marketing students and could provide them with a few extra internships during the semester, to have a FreeBSD advertising club.