Archive for the ‘OpenBSD’ Category.

I was the 200th person to like the FreeBSD Foundation Facebook page

I was the 200th person to like the FreeBSD Foundation Facebook page.

The FreeBSD Foundation helps collect donations and fund projects to improve FreeBSD.

If you have the ability to contribute, you should. I realized I hadn’t contributed since last year, so I went ahead and donate a meager sum this year.
http://www.freebsdfoundation.org/donate

The FreeBSD needs a lot more than 200 people liking it and a lot more people donating.

Opening konsole and a Ports Jail konsole can be confusing on PC-BSD

If I open Ports Jail, then a regular konsole, the regular konsole gets the Ports Jail icon.  I can’t really tell the konsole sessions apart.

The same things happens if I do it the other way around.  If I open a regular konsole, then Ports Jail, the Ports Jail gets the konsole icon. Again, I can’t really tell the konsole sessions apart.

This causes me some confusion.  Which konsole am I running?  I have to take a moment to verify or close them both.

Solution: Opening the Ports Jail with a different konsole profile

One solution is to have the Ports Jail konsole session use its own konsole profile that uses a custom konsole profile.

Here is how I configured that:

  1. I created a LavenderOnBlack color scheme, which is a copy of the GreenOnBlack with Lavender instead of Green. Normally I use the GreenOnBlack color scheme.~/kde4/share/apps/konsole/LavenderOnBlack.colorscheme
    [Background]
    Color=0,0,0
    Transparency=false
    
    [BackgroundIntense]
    Color=0,0,0
    Transparency=false
    
    [Color0]
    Color=0,0,0
    Transparency=false
    
    [Color0Intense]
    Color=104,104,104
    Transparency=false
    
    [Color1]
    Color=250,75,75
    Transparency=false
    
    [Color1Intense]
    Color=255,84,84
    Transparency=false
    
    [Color2]
    Color=24,178,24
    Transparency=false
    
    [Color2Intense]
    Color=84,255,84
    Transparency=false
    
    [Color3]
    Color=178,104,24
    Transparency=false
    
    [Color3Intense]
    Color=255,255,84
    Transparency=false
    
    [Color4]
    Color=92,167,251
    Transparency=false
    
    [Color4Intense]
    Color=84,84,255
    Transparency=false
    
    [Color5]
    Color=225,30,225
    Transparency=false
    
    [Color5Intense]
    Color=255,84,255
    Transparency=false
    
    [Color6]
    Color=24,178,178
    Transparency=false
    
    [Color6Intense]
    Color=84,255,255
    Transparency=false
    
    [Color7]
    Color=178,178,178
    Transparency=false
    
    [Color7Intense]
    Color=255,255,255
    Transparency=false
    
    [Foreground]
    Color=192,0,192
    Transparency=false
    
    [ForegroundIntense]
    Bold=true
    Color=210,0,210
    Transparency=false
    
    [General]
    Description=LavenderOnBlack
    Opacity=0.92
    
  2. Next I created a copy of the shell.profile named PortsJail.profile.
    ~/kde4/share/apps/konsole/LavenderOnBlack.colorscheme

    [Appearance]
    ColorScheme=LavenderOnBlack
    
    [Cursor Options]
    CustomCursorColor=192,0,0
    UseCustomCursorColor=true
    
    [General]
    MenuIndex=6
    Name=PortsJail
    Parent=FALLBACK/
    RemoteTabTitleFormat=%h : %u
    TabBarMode=1
    TabBarPosition=1
    
    [Scrolling]
    HistoryMode=2
    
    [Terminal Features]
    BlinkingCursorEnabled=true
    
  3. I then edited the Ports Jail shortcut on the desktop to pass it the approprate TerminalOptions to use the PortsJail.profile. Here is the one line I changed.
    TerminalOptions=--profile /usr/home/jared/.kde4/share/apps/konsole/PortsJail.profile
    

Now whenever I open the ports Jail, I can easily tell it is the Ports Jail and not the regular konsole because it is using a LavenderOnBlack profile.

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

  1. Get one. Get an advertising team, however you have to do it.
    1. 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.
  2. Give them goals to 1) get more committers, 2) get more users, 3) Get more Enterprise and Small business exposure and usage.
  3. 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.
  4. 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…
  5. 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

  1. Make documentation contributions easy.
    1. 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.
    2. Make the man pages available as a wiki, and the man page updates are included in the next release.
  2. Make these training videos:
    1. Getting started with FreeBSD – Install and Usage.
    2. Getting started with FreeBSD – Documentation
    3. Getting Started with FreeBSD – User land development and debugging
    4. Getting Started with FreeBSD – Kernel Development and debugging
    5. Getting Started with FreeBSD – Contributing to the KDE on FreeBSD project.
    6. Getting Started with FreeBSD – Contributing to the FreeBSD GNOME project.
    7. Getting Started with FreeBSD – Remote debugging
    8. …continue as needed
  3. Get a community site up. Not just a forum site, but a community site.
    1. Write a link between IRC and the community site so a persons IRC posts are also on the community.
    2. Write a link between the mailing lists and the community so emails are on the community.
    3. 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.
  4. Support the Advertising and Marketing team.
  5. Implement Kanban as a process for managing your work.

Development Department

  1. 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.)
  2. 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.)
  3. 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.
  4. Support the Advertising and Marketing teams by sponsoring internships, maybe at your Alma mater.
  5. Create a ready-to-dev on Virtual Machine.
  6. Support the documentation team by making docs “Getting Started” easier.
  7. 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.
    1. 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.
    2. Have a master project file at the root of the build that will do everything, build the entire FreeBSD source, in debug or release.
  8. Update the ready-to-dev on Virtual Machine to be include the graphical IDE and be ready to build and debug.
  9. Maybe there is a reason to make a few different types of ready-to-dev virtual machines.
  10. 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.

Project ideas for FreeBSD

There is a lot of work to do in this world, and there are plenty of open source projects. However, there are still plenty of projects that need help. There are still plenty of projects that haven’t even been started yet.

I just read this post and I am quite in agreement with it: FreeBSD needs fresh Blood!

Here are a list of projects ideas or projects that need contributors that could really help FreeBSD go to the next level.

Possible new projects

  • FreeBSD Mentoring Project – The primary goal is to get FreeBSD developers developing immediately and maybe have a VirtualBox VM that is ready to download and dev on immediately.
  • A Windows driver for FreeBSD’s UFS, maybe using the Installable File Systems (IFS) Kit
  • A Windows driver for ZFS, maybe using the Installable File Systems (IFS) Kit.
  • A GNOME based FreeBSD Desktop distribution (Note: PC-BSD and/or GhostBSD might fill these need in the future.)
  • Contributors to DesktopBSD.
  • A FreeBSD phone operating system to compete with Android, Windows Phone 7, etc… I think a clever name for phone OS based on FreeBSD would be Angel.
  • A new desktop that isn’t GNOME or KDE but is written using Mono (C#).
  • VirtualBox BootCamp for FreeBSD – Ability to boot to a VirtualBox image, similar to BootCamp on a MAC. So you can boot to a different OS, or while running FreeBSD you can load the OS as a virtual machine.

Projects that could use more Contributors

  • FreeBSD Advocacy and FreeBSD Marketing – We need actual advertising and marketing people here, not coders or techies.
  • FreeBSD ACPI – I would recommend a focus on improving ACPI support for laptops running FreeBSD.  The Sleep and hibernate ability are important.
  • Mono on FreeBSD or BSD#
  • Ports on FreeBSD – There are a lot of unmaintained ports, such as K-3d and you could adopt a port.
  • KDE on FreeBSD – The KDE support is in need of help.  The network manager hasn’t worked in years.
  • GNOME on FreeBSD – There is not an installable FreeBSD desktop distribution that focuses on GNOME.  GhostBSD, a live-CD, is based on GNOME.
  • GhostBSD – They could use some help being not just a live-CD but an installable distribution.

Business ideas based on FreeBSD

While free contributions from the community is nice, for FreeBSD to really thrive, it needs more full-time developers. There is not substitute for actual paid employees who spend their days working on FreeBSD.  The only way get those type of employees is to get some companies out there making money. For this reason, I would recommend that the FreeBSD Foundation looks at helping start new businesses based on FreeBSD.

  • BSD Appliances – Maintain appliances, both hardware and virtual appliances, for all the common server types. This is a hardware and support model, the software is of course free.
    • A complete suite of BSD appliances from Web Servers to Firewalls, to NAS, to backup, to networking, etc…I own the URL and thought about starting this project, but never really had the bandwidth.
    • Also, outsource appliance maintenance so other companies can have their proprietary appliance maintained by this company.  I know my company, LANDesk, has considered outsourcing our Management Gateway appliance. I heard a rumor KACE was too, though that rumor remains unverified.
  • BSD Business – A software company that makes a server and applications for common businesses. This is a hardware and support model, the software is of course free.
    • A Business Server (three version Small Business, Medium Business, Enterprise) that has everything a business needs. (Maybe this server is an appliance maintained by BSD Appliances 🙂
    • Common businesses means businesses that exist in every city, law offices, dental offices, eye-doctors, chiropractors, restaurants, hotels, mechanics, gas stations, etc… There are some applications that are ubiquitous to their fields. To use an example local to me, think of what Dentrix is to the dental field. I have always thought of an ultra-secure desktop for lawyers running an very secure version of FreeBSD.
  • Point of Sale system based on FreeBSD. This is a hardware and support model, the software is of course free. Why let Red Hat and CentOS have this who market.
  • Gaming on FreeBSD – A gaming console based on FreeBSD to compete with XBox, Playstation, etc…Gaming has an amazing power to drive improvement.
  • A support center where companies can get enterprise FreeBSD support, development, etc…
  • Animation on FreeBSD – A film studio that makes animated movies and runs everything on FreeBSD.
  • Feature4Hire – A web site that maintains a list of enhancement requests and people or companies can submit how much they are willing to pay for the feature. Then as soon as the dollar amount is worth it to someone in the world, they develop the feature and get paid, with something like 3% going to Feature4Hire. Even if $10 is attributed to a feature, some one in a 3rd world country might find some small dollar amounts worth it.  Ok, this site might be for all open source projects, but it could run on FreeBSD.

There are a lot more ideas out there and anybody can be a part of them.

Russian Government going Open Source…and the future

Well, I have seen governments claim they are going to open source before, but not from Russia, and not with such a realistic plan to migrate over a few years.

Here is a link to the article via Google translate:

Putin ordered the transfer of power on Linux

The now

Business drives software development.  Open Source communities help, but even today much of the ongoing development for Linux is driven by businesses such as Red Hat and Novell and others.  If you think your Linux code is being written by unpaid developers in their spare time, you are somewhat correct but only partially.  Most changes are made by developers who are paid.

While communities are nice, they can’t match the hours or output of experienced developers working forty to sixty hours a week.

Looking Ahead…the Apps…and C# (Mono)

The more open source is used in business, the more development power it will have.  But it is not the open source Operatings Systems that prevent people from moving to Linux or BSD.  Ubuntu, SUSE, Fedora, CentOS, PC-BSD, and numerous others are all very usable desktops that are user friendly.  It is the software that runs on them that everyone is waiting for.

The market is already there to make millions extra if you application runs cross platform, one Windows, MAC, Linux, and BSD.

But most the applications written for Windows, the business desktop of today, are using .NET Framework. So naturally those companies are going to want to make their code cross platform.  And they are going to find it is easier than they thought to move their applications between platforms using C#.  I have recently decided that C# is the future of applications on all platforms.

Some MAC and Linux users don’t like Microsoft and will fight off the idea of a Microsoft provided development platform such as C# (Mono) on their systems.  But when a corporation decides that you must run software X, and software X requires .NET, and you have to either give up your MAC or Linux box for a Windows box, or use C# (Mono), then users will come around.

If you are a company writing software for Windows only today and using C#, you need to take a look at Mono. Even if the return on investment of developing a C# (Mono) based version of your product is a slight loss to break even, it is an investment in the future.  Once written, maintenance costs will be less than the original development costs and that slight loss to break even margin will turn to a small profit.  And with the experience, you next app will migrate to C# (Mono) that much easier and soon, all you apps will run anywhere that C# (Mono) can run.

This is going to take off in a way Java hasn’t because developers for windows prefer and will continue to prefer .NET over Java.  And when it comes to business apps, Java just isn’t the language of choice.  Business applications are written in C#.

FreeBSD or Linux

Ok, so if you have been on my site, you know that I started with Red Hat and never really got into it, and then, settles on FreeBSD.  Why would I choose FreeBSD over Linux? It fit me better.

I actually think that everybody needs to use what suits them.

This is NOT a FreeBSD versus Linux post.  It is a site to help others who are trying to decide whether to use FreeBSD or Linux see some pros and cons and get my recommendation.

FreeBSD

FreeBSD is not Linux or Unix exactly.  It is BSD. It has its own bsd kernel and an is surrounded by a base system.

Here are a list of positives about FreeBSD

  • It is open to proprietary code that just can’t be used in Linux, such as Sun’s ZFS.
  • It is easy to get a small install of just the base system with minimal to no features installed. (Security! Attach surface area is minimized when less software is included.)
  • Jails
  • The ports tree for compiling from source is unmatched by any Linux operating system, but if you prefer binaries, yes, it has them too.
  • Installing software has less problems as you compile it on the system, with the settings you need (rather than get binaries that may have been compiled for a different system or without the settings you need).
  • The documentation is far better than most other open source projects and better than most projects commercial or open source for that matter!
  • OS X chose to use much of FreeBSD in its underlying operating system and so when combining the OS X and FreeBSD market share, FreeBSD code is actually used on more systems than any operating system other than Windows.
  • There are not that many BSD distributions, and the ones that exist have clear focusses different than the others, that later they share.  FreeBSD is a solid server. PC-BSD is a desktop focussed on avoiding dependency problems with its software. OpenBSD is extremely securee. NetBSD is extremely compatible with lots of hardware.  They contribute back to each other often.
  • The License is free and gives everyone who uses it true freedom.
  • The License is free for commercial use.
  • Easy Editor. Newbies can actually use this editor included in the FreeBSD base system.  Don’t forget to learn vi though.
  • Patching is as simple as running freebsd-update.

Here are a list of negatives about FreeBSD

  • Hardware companies tend to make drivers for Windows and Linux first and often don’t include FreeBSD, though most hardware is soon supported.
  • There is not a native Flash Player in FreeBSD, instead the Linux version of Flash must be used.
  • There Desktop options for FreeBSD are not as rich as those for Linux (Example: KDE network settings doesn’t work on FreeBSD, but PC-BSD has their own settings now.)
  • IT/Developers forFreeBSD are harder to come by.

Linux

Linux was originally just a kernel.  The userland was separate.  Now there are plenty of projects that make a nice complete operating system using the Linux kernel and a nice base system surrounding it.

Here are a list of positives about Linux

  • It has a large user base.
  • Free to use.
  • There are plenty of distros to choose from.
  • It is no longer just a kernel but many different groups put out an actual system: Red Hat/Fedora, Debian/Ubuntu, CentOS, SUSE, Arch, Gentoo, etc…
  • A lot of work is going into the desktop environment
  • Development for any Linux platform could benefit all Linux platforms.
  • More and more hardware companies are including Linux drivers
  • Some Software companies make Linux software as well, and the number is increasing
  • Strong commercial backing (which doesn’t make sense for software licensed under the GPL)

Here are some negatives

  • There is often a lot of binary packages that just don’t work.
  • Lack of consolidation.  There are a lot of distributions of Linux and they are not the same. Which one do you choose.
  • Many Linuxes (not all) are now installing desktop software by default, and no longer are minimalistic. (Security! Attach surface area is increased when more software is included.)
  • The inability to write and distribute software that touches GPL software, without having to release your software as GPL too.
  • If you hope to do anything other than use the software or help the community, you need a lawyer to figure out how to interact with the various versions of GPL.
  • The security settings are usually not easy to use and are result in users just turning them off (i.e. SELinux)
  • Are Red Hat and SUSE open source or commercial, they sell support but the software is free, except you can’t get updates without buying support…confusing!
  • IT guys who claim to know Linux usually have done little more than run Ubuntu for a few days.

This is not a flame post and any responses that appear to be trolls will be deleted.

My recommendations

Ok, so what would I recommend if I were paid by a company for consulting?

Server (LAMP)

For a Server running Apache, PHP, SQL, often mis-termed LAMP (Linux Apache MySQL PHP) but really means any OS, Web Server, SQL, Script language.

Recommended OS: FreeBSD

Commerical Appliance

If you work for a company and you need a commercial appliance. Stay away from the dangers of the GPL, just don’t go there.

Recommended OS: FreeBSD

Open Source Desktop

For a quick desktop for a home user that has PC hardware but doesn’t have a license for Windows and doesn’t want to buy one.

Recommended OS: Ubuntu

Note: Sorry PC-BSD friends. Keep working on it.

Commerical Desktop for Employees

If you want a good commercial desktop, you should go with one of the following depending on certain factors, the primary being that some software you may need to use only runs on these two platforms.

Recommended OS: Windows 7 or OS X

However, Ubuntu, Red Hat, SUSE, Fedora, PC-BSD, are all very usable replacements depending on the situation.

Point of Sale (POS) Device

If you need to have to have a POS device for handling sales.

Recommended OS: Depends on needs

Share your thoughts

Hey, please comment.  No flame wars though.  I repeat, this is not a FreeBSD versus Linux post, but a FreeBSD or Linux post, with just some information from my experience. I appreciate all technology and any rude comments will be deleted.  However, feel free to challenge and provide facts, demand facts, etc…

OpenBSD 4.8 release Nov 1, 2010

Another release…

Check out the new release of OpenBSD 4.8.