Continuing our series of innovative and useful open source projects that you should know, we spoke this month with the creators of Bulma.
First released in early January 2016 under the MIT license by Jeremy Thomas, Bulma is a free and open source modern CSS framework based on the Flexbox layout model. It offers a simple grid system, responsive nav bars, and versatile media objects. Every element in Bulma is mobile-first and optimized for small screens, and can be easily customized using modifier classes and variables.
According to the creator Jeremy Thomas, “Initially, Bulma was supposed to be a kind of online Sass framework. The website would be a web app where you could input some variables and it would generate your CSS for you. The whole framework would be built around components called “capsules” (like Bulma Corp. capsules, hence the name) which you could preview in your browser just by typing some Sass code.”
Since Bulma’s initial release, not much has changed according to Thomas. “Bulma, as it is right now, is not that different,” he explains, noting that, “The idea of components is still present, which allows you to import only what you need!”
While Thomas was creating Bulma he didn't initially think of it as a tool for the community. ”As I was building this early version of Bulma, I realized I was actually creating a set of styles that I would re-use myself for my own personal and professional projects,” he says, adding that “These styles were the combination of all the knowledge I had acquired over 10 years of frontend development, delivered in an easy-to-use personal framework. I felt this framework could be useful for others.”
Before launching Bluma to the open source community, major changes were needed to complete the project.“Before making it open source, I felt it needed something more,” Thomas recalls. “At the time, I was starting to use Flexbox quite extensively. It was a major milestone in CSS at the time. That's how I came up with a simple columns system based on Flexbox. I continued converting most of my framework to Flexbox and thus Bulma 0.0.1 was born.”
Like other creators of open source projects, when he was coming up with the idea of a project Thomas says that it was obvious that he would take Bulma open source. “I've created quite a few open source projects,” he says, noting that, “Actually, whenever I start a project, by default it's an open source one. What I love about is that as soon as you make a project open source, it's not your own project anymore. It's everyone's project.”
With every open source project, there is always challenges. According to Thomas, stability is a challenge that every open source project experiences. “The main challenge for an open source project is to remain alive,” he notes somewhat jokingly but with a heavy grain of truth. “Some fantastic projects have died over the years because the maintainer could not keep working on it. Even with a huge user base, if nobody is willing to carry on, a project can be left in an unmaintained state. That's where open source can thrive: somebody can pick up an open source project and revive it! That's the beauty of sharing your project with the community: it becomes a team effort.”
Without a doubt, many open source projects reach out to the open source community to help get their project off the ground. So what can we learn about how Bulma chose to work with the open source community?
“While I'm the sole maintainer of Bulma, I've had tons of help from the open source community: bug fixes, new features, code enhancements, documentation tweaks,” explains Thomas, adding that “There's constant work being done in the background to make Bulma even better! It really has become a community effort. I consider the documentation to be just as important as the framework itself, so I'm glad to see both parts being improved by various users around the world! I've seen quite a few first-time contributors. It shows how easy it is for anyone to join and be part of the Bulma community.”
When asked why Thomas loves working with open source, he responded by saying that, “I just like the idea that a small personal project can turn into a great piece of software that thousands (in Bulma's case: hundreds of thousands!) of people can use and contribute to it. It's like planting a seed and seeing random people come together to turn it into a beautiful tree. There's a start for every open source project, but there's rarely an end because there will always be someone to continue contributing and carry the torch. That's why I like open source: it's not just code. It's about the people behind the code.”
To learn more about the Bulma project, please visit their GitHub page and try it out for yourself.
As a creator of open source projects, Thomas has a deep appreciation for the work of others. When asked what his favorite open source project is other than his own, he says that “There are loads! Since Bulma is hosted on GitHub, Jekyll has become my favorite framework to build static websites. Its syntax is fairly straightforward, but it still has lots of hidden power! Because I want to constantly improve the Bulma documentation, I keep searching through the Jekyll docs to see if I can make the Bulma website easier to maintain and grow.
The first coding language that Thomas tells us that he learned was PHP and his first computer was a PC with Windows Millenium in 2000. “I was one of the few to actually use Millenium,” he jokes, explaining that, “I quickly switched to Windows XP as soon as it was available though.”