Manifesto

What is Fury?

While in greek mythology fury could represent “a spirit of punishment” to this project we would like to think it more likely represents a culmination of efforts from a community coming together quickly, furiously.  

FuryBSD is a back to basics lightweight desktop distribution based on stock FreeBSD.  As one of the first releases it will merely start as a vessel to deploy nothing more, nothing less than the following:

  • FreeBSD 12.X RELEASES
    • No development branches
    • Quarterly ports by default
    • No unnecessary tunables, services
    • FreeBSD tools first to perform system management
      • freebsd-update, pkg, bsdconfig, bsdinstall
  • Top tier applications
    • Firefox
    • Maybe others to come
  • Lightweight but first class desktop environments
    • XFCE
  • Small footprint
    • Installation image only 1.2GB in size to download

What’s next?

Our next images will focus on FreeBSD 12.1, and getting the LiveCD to it’s best possible state.  We will ready the forums, and work on documentation to provide some basic guidance on how to get started, and what to do in case of failure.

Below represents the first technical roadmap of what has been in mind for the project all along:

  • A sane framework for loading, 3rd party proprietary drivers graphics, wireless
    • This needs more thought, investigation to do correctly.  We don’t want to make too many assumptions, and break hardware that may work.  For example a first draft of a tool might have assumed HyperV was actually VirtualBox.  We don’t want to introduce regressions, and cause more problems. This has to be done carefully.  Is this an opt in, or opt out process? In general where often this could be an upstream FreeBSD limitation we have to be careful about making the same mistakes other distributions have when they get it wrong and broke devices which could have worked.
  • Cleanup up the LiveCD experience a bit more to continue to make it more friendly
    • No matter how tempting we want to avoid using other third party installers, or making too many of our own tools which would mean more maintenance in critical areas to keep up with change from too small of a team.  In general while bsdinstall, and bsdconfig might not look the most appealing they just work. There is little reason to make something new other than visual appeal which can perhaps still be taken care of by leveraging bsdinstall, etc.
  • Printing support out of box
    • Do we chose cups?  Which sets of drivers?  Some despise cups and chose to pursue traditional unix printing methods.  How we address this has to be decided.
  • A few more default applications included to provide a complete desktop experience. 
    • This will require some democratic decision making within the project and community to come to an agreeance on what ships with the image that may also be removed.  As part of this a welcome tour will be created to showcase even more of the best, and most popular software.
  • Integrated ZFS replication tools for backup and restore
  • Live image persistence options
    • For writable media such as USB stick and the like we should allow contents to be saved, and restored upon the next reboot.
  • A custom pkg repo with sane defaults
    • GKSU – The graphical switch user utility is another could example.  This cannot be installed without including Gnome 3’s file manager unless we provide a custom package repo in the future.  This may be an essential tool to provide administrator access functional in the graphical environment for XFCE for future printing support integration out of the box, etc.  This is another area where we must be careful, and provide guidance to contributors to do the same. We can’t flip sound backends, nor experiment too much in these areas without creating a poor user experience.
  • Continuous integration for applications updates
    • In order to ensure mission critical applications such as wine always continue to work we will provide hooks in Jenkins to monitor, and prevent bad updates from getting pushed when the critical list fails, or when too much fails in general
  • Quality assurance for FreeBSD on the desktop
    • As we learn the pain points if any test suites will be developed around critical areas of functionality to ensure that new releases, and rollups do not break systems. 
  • Tailored artwork, color scheming, and theming
    • Part of providing a good user experience is looking good.  Providing the user a reason to want to come back. Also the impact of professional looking artwork may mean more adoption for business.
  • Directory services integration
    • Full support to join Active Directory, and LDAP environments for corporate deployment.  We want for FuryBSD to be enterprise friendly as well.
  • Marketing
    • It needs to be decided what efforts can be undertaken such as BSDstats, distrowatch, and other metrics gathering tools.  At the moment BSDstats would reflect that we are FreeBSD, and not FuryBSD. So it would not do this project any favors necessarily to gain in popularity.  Something like this has to be opt in if the time ever comes.
  • Community
    • Steps should be taken to ensure the community is respectful, and respected in return.  In general responding back to trolling should be avoided but we need to ensure the users aren’t driven away from the project by it as well.  Therefore moderation will be required at some point.
  • Donations
    • If the project grows in popularity enough at some donations could be collected and if this happens we must be transparent about how those funds are spent to improve hosting, contracting, or other efforts to benefit the project, and community.
  • Security hardening
    • Some effort should be taken to set reasonable hardening such as user not being able to see another processes by default, as well as expose more intense options to advanced users such as kernel lockdown, firewalling.

Conclusion

So while today FuryBSD is merely a vessel to install FreeBSD with XFCE we want to become one of the better open source desktop distributions possible by maintaining high standards.  That will mean picking the right balance of tuning knobs to ensure quality expectations can be met, and allowing the user to have as pure of a FreeBSD experience as possible as well as being transparent, and thoughtful about decision making.