November is typically a time when we in the States give thanks for the kindness and generosity we’ve received throughout the year. I’d like to kick off this month ’s newsletter with a thank you to everyone who generously supported our #GivingTuesday campaign last week, and to those who have donated throughout the year. Your support is vital and we are grateful for your continued investment in FreeBSD. You can find more about our fundraising efforts in my article below. It has yet again been a busy and productive month for the Foundation team. Check out the latest Development Projects update on tool chain improvements, an update from Release Engineering, and read about where we’ve been promoting FreeBSD around the world.
November 2018 Development Projects Update
Tool Chain Improvements
An ongoing project in FreeBSD is the migration to a permissively licensed, modern tool chain. The Foundation has sponsored portions of this work over the last several years, and is now helping form a plan to address the collection of outstanding issues scattered across a number of areas. A tracking PR is open to identify all of the individual issues as dependencies.
The main issues we are working to address in time for FreeBSD 13 include:
LLVM’s linker, lld
We’ve made a significant investment in migrating to LLVM’s lld linker for amd64, arm64, and arm7 in preparation for FreeBSD 12.0. Additional work in the ports collection is needed before i386 can also be migrated, but is on track for resolution in the next month or two.
Beyond that we will spend some additional time improving lld on FreeBSD for MIPS, Power/PowerPC, and RISC-V.
The migration to a modern linker will enable several other improvements, including Link-Time Optimization (LTO) and Clang’s Control Flow Integrity (CFI).
FreeBSD currently relies on an outdated GNU assembler to assemble a small number of files on a few architectures. These cases are being reworked to use Clang’s Integrated Assembler (IAS) instead, facilitating the retirement of the GNU assembler (as).
Other Binary Utilities
On FreeBSD, most of the tools historically provided by GNU binutils are now from the ELF Tool Chain project. One tool not available from ELF Tool Chain is objdump, but the LLVM project has an llvm-objdump that is similar to GNU objdump. We’ve been working to identify shortcomings in that tool and coordinating with others in the LLVM community to allow it to function as a replacement.
In order to facilitate LTO some tools (at least “ar” and “nm”) need to gain support for the symbol format used by LLVM bitcode. There are two ways to accomplish this: we can migrate to the LLVM version of these tools, or enhance the ELF Tool Chain ones with support for LLVM bitcode. Most likely we will pursue both options.
Other ELF Tool Chain tools will receive bug fixes and functionality improvements.
Today LLVM’s libunwind library is used for stack unwinding on arm64, 32- and 64-bit x86, RISC-V, and MIPS. Some work is needed to enable support for 32-bit arm, as well as Power.
— contributed by Ed Maste
Fundraising Update: Supporting the Project
Thank you to everyone who stepped up on Giving Tuesday and ran their own fundraiser for the Foundation and/or donated to the Foundation. We raised around $8,000 that day! We were thrilled by the excitement Giving Tuesday generated, and truly grateful to see the support from the community.
If you haven’t given a financial contribution yet, please consider giving a donation today. In addition, if your company benefits from using FreeBSD, and hasn’t given a financial contribution to the Foundation, please help us by sharing with them the benefits they are receiving from the ongoing work we are doing to keep FreeBSD the innovative, secure, stable, and reliable operating system they depend on.
This year, we increased the number of software developers we are funding to step in to fix issues; improve and maintain areas of the software, and improve developer tools such as continuous integration and increasing test coverage. We’ve also expanded FreeBSD education and awareness around the world.
We need your help to champion the work we’re doing for the Project. Help us show commercial users why it’s so important to give back to FreeBSD when they benefit significantly from the work we do.
Here’s a more in-depth look at the critical areas we are supporting which directly benefit commercial users:
Operating System Improvements: Providing staff to immediately respond to urgent problems and implement new features and functionality allowing for the innovation and stability you’ve come to rely on.
Security: Providing engineering resources to bolster the capacity and responsiveness of the Security team providing your users with peace of mind when security issues arise.
Release Engineering: Continue providing a full-time release engineer, resulting in timely and reliable releases you can plan around.
Quality Assurance: Improving and increasing test coverage, continuous integration, and automated testing with a full-time software engineer to ensure you receive the highest quality, secure, and reliable operating system.
New User Experience: Improving the process and documentation for getting new people involved with FreeBSD, and supporting those people as they become integrated into the FreeBSD Community providing the resources you may need to get new folks up to speed.
Training: Supporting more FreeBSD training for undergraduates, graduates, and postgraduates. Growing the community means reaching people and catching their interest in systems software as early as possible and providing you with a bigger pool of candidates with the FreeBSD skills you’re looking for.
Face-to-Face Opportunities: Facilitating collaboration among members of the community, and building connections throughout the industry to support a healthy and growing ecosystem and make it easier for you to find resources when questions emerge.
Your support has already accomplished great things for the Project, please consider helping us continue the work above! If your company uses FreeBSD, please talk to them about the benefits they are currently receiving and ask them to give a financial contribution to not only help continue the growth and health of FreeBSD, but to show their support for open source.
Finally, as I mentioned above, if you haven’t yet, please consider donating today. We can’t do this without you!
— contributed by Deb Goodkin
November 2018 Release Engineering Update
The FreeBSD Release Engineering team continued working on the upcoming 12.0-RELEASE. During the month, one additional BETA build was released, BETA3, prior to the creation of the releng/12.0 branch on November 16, where development on the upcoming 12.0-RELEASE will continue.
Additionally, two release candidate builds were shipped, RC1 and RC2, with RC3 builds expected to begin November 30.
MeetBSD 2018 and FreeBSD Developer Summit Conference Recap
MeetBSD 2018 was held at Intel’s Santa Clara Campus, in California. I was looking forward to this event for a number of reasons: first, I was part of the program committee that selected the talks for the main conference; second was the venue at the Intel Campus; and third, it provided a good opportunity to see and talk to some people in the BSD community that I normally only see once a year at BSDCan.
I arrived the day before and met up with Michael Dexter, Rod Grimes, and Michael Lucas for dinner. Dan Langille joined us a bit later, too. The Mexican food we had was excellent and we could talk about various subjects in a smaller circle. The next morning, Deb Goodkin and Anne Dickison picked me and the rest of the Foundation folks (Ed Maste, Scott Lamons, and Li-Wen Hsu) up by car, and we drove to the Intel Campus. It was very exciting for me to see all those familiar computer brand names and bits of their campus as we drove past them. This was as much Silicon Valley as you’d imagine.
Arriving at the venue, I was greeted by JT, our BSDNow.tv producer and he handed me my badge and conference bag before I could take a look around. I also met Denise Ebery, who had put a lot of effort into organizing the event and making sure everything was running smoothly. The first day before the main conference, we held a one-day FreeBSD Devsummit, which was sponsored by the FreeBSD Foundation. Intel provided us with a large auditorium (which reminded me more of a cinema), a podium for giving the talks, and an area next to the entrance for food and drinks. You could basically spend the whole day in there without missing anything besides bathroom breaks. Before the talks started, there was plenty of opportunity to meet and greet developers and it didn’t take long for us to engage in familiar topics about BSD, travel, and tech.
The devsummit talks started with LWPMFS: LightWeight Persistent Memory Filesystem by Ravi Pokala. The topic was interesting and completely new to me. After a short coffee break, Ed Maste continued with “Evaluating GIT for FreeBSD“, covering the arguments for and against it. I think he managed not to incite too much heated discussion, while still engaging people in considering various points. The discussions continued well into the lunch break. They had amazing sandwiches in those lunch boxes which I enjoyed a lot. During the break, I got the chance to talk to Devin Teske and saw the updates she’d done to her dwatch tool since her well received presentation at BSDCan in July this year. Mark Johnston gave a talk about NUMA after the lunch break, detailing the progress the project has made in scalability and increases in performance. After another coffee break, we had the famous “Have, need, want” session to gather what people would like to see (or could offer) as features in the next major FreeBSD release. While this may sound boring, John Baldwin and George Neville-Neil, who hosted the session, are a unique combination that make these sessions both entertaining and engaging.
The next day, MeetBSD started in the same venue, but with a lot more attendees. After an introduction round led by JT and Michael Dexter, Kris Moore gave showed us “how to use TrueOS to bootstrap your FreeBSD-based project“, detailing some of the things he and his team at iXsystems (who was sponsoring the event and made the Intel venue possible) had done. I always find it interesting to see the different ways people can transform the operating system for various purposes. Next, Ben Widawsky presented on “Intel & FreeBSD: Better Together“, a very engaging talk about his way into the community and what kind of opportunities there are in the partnership with Intel.
During the next break, I took a chance to visit the sponsor tables that were in a separate room and had a look what they had to offer. I talked to a lot of people on the way back, which caused me to miss half of the talk after the lunch break.
The nice thing about this MeetBSD was that it wasn’t just talks the whole day. The single track conference style allowed for everyone to stay in the same room and we could have discussions, lightning talks, panels, and other fun ways to engage with each other. For me, this made the day seem longer and not rush by so much as there was enough opportunity to talk with other people without having to wait for the next break.
The social event that evening was held in Intel’s cafeteria just a few doors down from our venue in the same building. Another great opportunity to mingle and talk to people over pizza and drinks. We had a lot of fun and it felt good to be within the BSD crowd yet again.
The next day we had the “Why BSD?” keynote by Michael W. Lucas’ as only he could give it: funny and entertaining, yet thoughtful. He showed how he got started with BSD and its community, and I saw a lot of similarities to my own story. Kirk McKusick made a surprise appearance as the next speaker and even allowed us to pick the talk we would like to hear by a show of hands. The early history of BSD won and Kirk delivered a talk that does not seem to get boring, even though you might have heard it before. I guess that’s the mark of a good speaker.
After my third variety of lunch box (each day, I tried a different one and I couldn’t decide which was the best.), G. Clifford Williams delivered his talk about “A Curmudgeon’s Language Selection Criteria”. While there are a lot of languages you might learn over the years as a programmer, there is a tendency to use your most familiar and try to apply it to every problem you encounter. I see that a lot in my students and Mr. Williams had excellent points to be aware of and try not to fall into this trap.
Before the virtualization panel discussion, Mariusz Zaborski delivered his talk on Capsicum. He’s done a lot of work converting FreeBSD utilities one by one to this sandboxing framework. The talk he gave had a good introduction to Capsicum and gave pointers for people who want to help out in that area.
Nick Principe told us (cautionary) tales about doing performance measurements, which is part of his job at iXsystems. I thought the talk was well done, good slides, a lot of learnings about proper performance benchmarking to round up the conference. We closed with a group picture and thanked all the organizers and sponsors for making MeetBSD such a success. The FreeBSD 25th anniversary party was held in the Intel cafeteria and it was definitely a celebration. We had good food and drinks and there was even a cake. During the evening, some people took the microphone and told us what FreeBSD and its community meant to them. It was a very heartwarming celebration and I had a chance to talk to a couple of new people that night. I returned home very satisfied, having participated in an amazingly successful conference that concluded my BSD conference travels for this year.
— contributed by Benedict Reuschling
Teaching FreeBSD in Tonga
In October, I took my promise to promote FreeBSD in places where we are underrepresented to new extremes and taught a week-long FreeBSD workshop in Tonga. The FreeBSD Foundation supported part of my travel. My workshop was attended by IT professionals from several ministries and other government departments. Many attendees who had never even heard of FreeBSD before this week are now proudly showing off FreeBSD stickers around the country.
I expect to teach more regular workshops in the region starting next year. I am already hearing rumors of FreeBSD installations sprouting up across Tonga.
— contributed by Philip Paeps
FreeBSD 25th Anniversary T-shirt Fundraiser
You can now get your own FreeBSD 25th Anniversary t-shirt while supporting the Project and Foundation. The fundraiser will run through Dec 19. Tell your friends and order your shirt today!
— contributed by Anne Dickison
Rocky Mountain Celebration of Women in Computing Conference Recap
This is a biennial event, attended by students and industry professionals from five states. When I first heard about this conference I thought this would be a wonderful opportunity for introducing students and professors, in this region, to FreeBSD. I’ve been interested in giving FreeBSD presentations and workshops at local universities, since we have many FreeBSD contributors in the area. Being able to run more workshops locally will give us a chance to test the content with more people and help with the end-goal of making this curriculum available for teaching at universities and meetups around the world. Read more…
NYI is a data center provider that uses FreeBSD for all of its internal and customer-facing solutions for colocation and dedicated servers, cloud computing and managed services. Our initial choice of technology included commercial Unix systems tied to proprietary hardware. However, the cost and portability of FreeBSD were determining factors in our changing platforms early in our company’s existence.
Since then, we have enjoyed the functionality and reliability of FreeBSD. We rely on it for networking duties like routers, VPNs, firewalls and traffic shapers, as well as web applications like shared hosting, backend interfaces, load balancers and proxies. We particularly appreciate the community support and centralized documentation, which means that we do not have to hunt down bits and pieces of information, like we would with other projects.