Following the release of GhostBSD 18.10 (GhostBSD 18.10 now available), I reached out to Eric Turgeon, GhostBSD’s founder and project lead, to find out more about the project.
It’s really interesting to hear how Eric, without having a computer sciences degree, began the GhostBSD project and how he pushes it forward with every release.
Here is the interview:
Thanks you Eric for taking part. To start off, could you tell us a little about yourself, just a bit of background?
I am a Canadian French, I am married to wonderful patient women and have one son, and I am currently working for iXsystems, I recently become FreeBSD ports committer, I founded the project call GhostBSD. I am from a small city in New Brunswick called Edmundston.
I was always fascinated by computers and software, I was hoping to study in computer science at the university, the irony is that I did quit school after realising that I was 15 year in school and still had 2 years of French grammar course to complete and it was the only thing keeping me from going to college or university. I did try to finish GED, but again I was still having problems with French grammar, so I did give up. I did learn that I did not need high school diplomat to become a hairdresser or barber, so I did take hairdresser course, I finished it, and I did get a diplomat. I did work has a hairdresser for a short time, In the meantime, I was trying to get a band together, but it did not go that well. I started to work at Tim Horton, I both my first computer a DELL Dimension 1100 for recording music. After a while, I wanted more than be just a simple cook at a coffee shop, so I had applied to Walmart and got a job as an Inventory Controller. I met my wife there, and we did move in Moncton/Dieppe because she was going to start college there so got a transfer to a Walmart in Dieppe. We got married the second year.
I began to work for Kent DC as an Order Picker, and through the years I got an Inventory Controller Specialist position, doing my day to day Job I realised that our WMS (Warehouse Management System) running on Rumba, was using VBA script for automation. I started to automate my job with VBA script, Excel and our database reports. Everything coming from email and spreadsheet was almost all automated, and with VBA I did lots of automation to the point of having script making the decision where products should be placed in the warehouse. I did scripts to make projections on where a new product should be placed in the warehouse. I which I could have use Python for that, VBA is limited. I helped other team members to make scripts for Rumba.
In 2017 I got a really good job opportunity as an Automation Engineer at iXsystems, since then I worked for iXsystems in the Quality Engineering team.
How did you become interested in open source?
My interest for open source started when I wanted to become hacker/cracker. I did try many GNU/Linux, and Ubuntu was the one I did stick with it. On my journey of searching for new tools to hack/crack, I did find ‘How To Become A Hacker’ from Eric Steven Raymond. Eric’s essay was almost coming at the right time because my life was starting to change, and I became a Christian. I started to be more interested in Open Source, and I discovered I was able to learn computer science by myself.
When and how did you get interested in the BSD operating systems?
I did read ‘How To Become A Hacker’ a couple of times, BSD and BSD UNIX was mentioned, and BSD Unix was sticking in my head because of UNIX. In the essay it stated ‘You can find BSD UNIX help and resources at www.bsd.org.’ from there FreeBSD was looking promising. I did download FreeBSD, but with the lack of a GUI I was not able to do much so it did turn me off at first, with more search I did find PC-BSD and installed PC-BSD 1.4, but I was a Gnome2 guy, and at that time PC-BSD was KDE only. I did like Ubuntu a lot, and I thought why is there no project like Ubuntu in the BSD world, so that was about that time that the idea GhostBSD started. Since only FreeBSD supported native Nvidia drivers, I started there.
On your Twitter profile, you state that you are an automation engineer at iXsystems. Can you share what you do in your day-to-day job?
Yes, I write python scripts for testing REST API for FreeNAS, with Requests and Pytest module. I maintain the iXautomation framework, which installs FreeNAS or TrueOS in bhyve and runs our API test. I do work on automating of some internal projects. I monitor Jenkins to make sure all our API tests are passing and report any test failing. I sometimes do manual testing of API and UI. I do occasionally work on the WebUI automation testing. I also monitor our incremental build of FreeNAS to ensure it passed. Lately, I did put much time on TrueView REST and WebSocket API automation testing, if you did not hear about it yet google “trueview at vmworld”. I also help to reproduce issues and to find the cause of it with VM’s created by iXautomation. I do test TrueOS installation and upgrades, and I also test trueos-ports build. I am sure I forget things, but that should give you a good idea.
You are the founder and project lead of GhostBSD. Could you describe GhostBSD to those who have never used it or never heard of it?
GhostBSD is currently a distro of TrueOS with MATE as the primary desktop, and it is a live system that can be run from DVD and USB key and be installed to drive. GhostBSD is developed to perform casuals task and mostly focus on helping Linux and Windows user to get familiar with BSD.
Developing an operating system is not a small thing. What made you decide to start the GhostBSD project and not join another “desktop FreeBSD” related project, such as PC-BSD and DesktopBSD at the time?
In one word, KDE. KDE 3 was ugly, and I was not attracted to any projects using QT and KDE. At that time I wanted to create a Gnome distro of FreeBSD, also has I mention before GhostBSD was a project for me to learn computer science. When I start to learn something new, I go the hard way, and when I start to learn to play guitar, I started with classical music and heavy metal music, I was not interested in the beginner material, that was the same thing for programming and Open Source. It was difficult at first, but I did get help from multiple people and did learn from everyone.
How did you get to the name GhostBSD? Did you consider any other names?
At that time I was working on a personal project to make a transparent computer case, and I call it Ghost Box when I started to work on a livecd version of FreeBSD, my girlfriend (now my wife) told me “you should call it GhostBSD or GhostOS”, and I did stick with GhostBSD. At first I did come up with “(G)nome (h)acked (o)perating (s)ystem (t)echnology on Free(BSD)”, just by that you can see how bad my English was, but around 2010 it became “(G)nome (host)ed on Free(BSD)” The original pronunciation was ‘G’ ‘host’ ‘BSD’, and it is also why my wife created the GhostBSD logo the way she did: the G and host are not the same color. I wanted to make sure that GhostBSD has nothing to do with ghosts. Today I call it ‘Ghost’ ‘BSD’. To Gnome host on FreeBSD is more or less relevant but MATE is a continuation of Gnome 2 and it GhostBSD can be referred to as “GTK hosted on FreeBSD”.
You recently released GhostBSD 18.10? What’s new in that version and what are the key features? What has changed since GhostBSD 11.1?
GhostBSD 18.10 is now built from TrueOS instead of FreeBSD that is the significant change. I did remove UnionFS, because of random hang when booting and memory issue, so the live system is partially RW. Joe Maloney (who also works at iXsystems) did rewrite the whole tool to build GhostBSD, and the live system architecture is now a big compressed uzip file when booting it mount the uzip file and start the live session in chroot. With all those changes has made the live DVD/USB more stable. NetworkMgr now supported multiple wired and WiFi card connection. GhostBSD did come back to is roots, by using MATE only, MATE is the same UI than Gnome 2 was, and GhostBSD started with the Gnome 2 UI. That is about it for the significant changes, and future releases should become more polished.
The current version is 18.10. Will the next version be 19.04 (like Ubuntu’s version numbering), or is a new version released after the next stable TrueOS release?
I plan to release more often, every month or 2 months since we are updating packages so often that we want to publish updated systems more often. For the significant changes, we are targeting for 19.02 or 19.04.
Can you tell us something about the development team? Is it yourself, or are there other core team members? I think I saw two other developers on your Github project page.
Joe and I, we were mainly the people behind the development 18.10, but lately, some people did start to get interested in the development like Vester Thacker, Damian Szidiropulosz, Ron Georgia. Also, some people are helping in other areas, Neville Goddard, testing and helping other users on Telegram and the forum, Vester Thacker is taking care of the wiki, Alex Lyakhov helps with server administration, Yetkin Degirmenci is assisting with the website. I might have forgotten someone currently; we don’t have a list of developers.
How about the relationship with the community? Is it possible for a community member to contribute, and how are those contributions handled?
Lately, all our communication is on Telegram, and it has helped GhostBSD development a lot compare to the forum and IRC. A lot of user can share their thoughts to us, and it gives us opportunity to find more help. All the development is on GitHub, so anyone can contribute by forking changing the code and send Pull Requests. It is that simple!
What was the biggest challenge during development?
On 18.10 UnionFS. UnionFS it the only way to get a live file system fully writable under FreeBSD, it has delayed the development of GhostBSD to over four months. Overall I would say time and help, GhostBSD right now has more support than never before, but in the past, it was not the case.
If you had to pick one feature readers should check out in GhostBSD, what is it and why?
ZFS, I started to use ZFS in 2017, and I can not live without it, it has made my file system administration super productive and straightforward. I have my development all under a dataset that I can send to my other machines, and it saves me times when I reinstall GhostBSD or TrueOS. I don’t have to git clone everything.
What is the relationship between iXsystems and the GhostBSD project? Or is GhostBSD a hobby project that you run separately from your work at iXsystems?
GhostBSD is an independent project; it is run separately from my work at iXsystems, and it is developed in my free time as my hobby project.
What is the relationship between GhostBSD and TrueOS? Is GhostBSD TrueOS with the MATE desktop on top, or are there other modifications, additions, and differences?
GhostBSD is now built from TrueOS, and I am currently involved in TrueOS with testing development, and I do make sure TrueOS ports always build in Poudriere. TrueOS did become a platform to build other systems, and it is way more comfortable to contribute to TrueOS than FreeBSD, and TrueOS make sense to GhostBSD because TrueOS is made by peoples that has common goal make BSD great in all area including desktops and laptops. GhostBSD continues to develop is own tools like Update Station, Software Station and NetworkMgr. Any user that will run GhostBSD 18.10 will not see much difference.
Where does GhostBSD go from here? What are your plans for 2019?
I will work on more ZFS features for the installer. I will put times to finish our software manager. In 2019 we might start to put more focus on fixing or replacing features from MATE that don’t work well, like the volume applet and similar things. Also, we might begin to send base system packages updates more often. The effort in 2019 will be to continue to focus on the overall functionality of GhostBSD. There are a lot of areas to improve and more hardware to improve on.
Is there anything else that wasn’t asked or that you want to share?
One thing I have learned through the years is to never give up, and I did learn from my mistakes, and everything is possible if we put the time necessary to succeed. So for anyone reading this interview, I hope to encourage some of you to overcome the impossible.
Once again, thank you Eric for your time. All the best with the project.