The Power of Open Source in the Foundation FrameworkBy Simon Codrington
It’s Open Source Week at SitePoint! All week we’re publishing articles focused on everything Open Source, Free Software and Community, so keep checking the OSW tag for the latest updates.
CSS frameworks are among the most actively used tools in web design and development. If you’ve been involved in the industry, at some point you would have heard, seen or used a CSS framework or library before. What many developers do not realise is that these frameworks flourish thanks to the open source movement.
Frameworks like Bootstrap and ZURB’s Foundation offer a platform for rapid prototyping, getting your site up and running by providing all of the common building blocks. Bootstrap and Foundation are just two popular examples, there are hundreds if not thousands of great frameworks out there that aim to make your job easier and speed up your development work.
CSS frameworks are great representations of the ideals and motivations that make open source as a whole so great. Frameworks bring together designers, developers and enthusiasts to work on something for the collective benefit of everyone.
What Can Open Source Frameworks Offer Us?
One of the fundamental principles of the open source philosophy is the free exchange of ideas and information for the improvement of the community as a whole. CSS frameworks embody that spirit. From the developer’s perspective, frameworks and CSS / JS libraries let you build your projects from a solid starting point, leveraging the skills, experience and dedication of a community.
Whether you’re interested in joining a community to lend a helping hand or you’re a developer considering if open source methods are right for your project, there’s a great number of reasons why you should consider embracing open source and everything it can offer. You can find some of them listed below.
Helping to Shape Communities You Are Interested In
Arguably, one of the best reasons to participate in open source projects is that you get to have an active hand in shaping how the product evolves.
Unlike closed source / proprietary projects, you as a developer get to take an active role in improving and guiding the project. You are not just a casual observer.
The Foundation project on GitHub is a good example of this. The team has in GitHub their primary point of interaction and use it to track bugs, feature requests and general feedback. Developers can search through the Foundation framework and propose changes, outline bugs and generally make it better as a whole.
These projects usually have a developer or team of developers at its core who manage what commits they pull into their projects’ core. A vast majority of the time, the developers managing these projects (including Foundation) are happy for you to commit changes — so long as the proposed changes are useful and in accordance with the goals of the project. If that’s the case, they will be adopted. This is great because, if you’re using a framework or library and it doesn’t have critical feature X, you can provide the feature directly to the developers and they can pull it into the next version of their framework.
Your mileage may vary, but for a majority of the projects I’ve been involved in, bug requests, feature addons and feedback are greatly valued by the project owner as it shows their creation is actively being used and is of value to the community. It’s a great system that benefits both parties. It doesn’t matter how big or small your contribution is, every bit of effort goes towards making the project as a whole better for everyone.
Becoming Part of the Community Spirit
This might sound subjective, but there’s a definite difference in the vibe and emotion that you get from communities and activities that involve open source, it’s a feeling that you’re part of something bigger, working together to build something awesome.
While events like traditional conferences are all well and good, it is activities that involve the community, where you can have real and concrete input, that motivate us the most.
With its developer conferences and fun, interactive events, Mozilla is a great example of the community spirit in open source development. The same could be said about what you get from participating in a framework much like Foundation or Bootstrap. Working together on a CSS framework lets you connect with other people and bolsters your personal and interpersonal skills. You can work as a team collectively on larger issues or maybe just provide feedback and testing.
Refining Your Development Techniques
Another benefit of contributing to open source frameworks is that you can use that opportunity to refine your development skills. Even if you’re a seasoned developer, there’s always something you can learn by reading through other people’s code.
Also, participating in a community gives you a chance to showcase your knowledge and understanding, somewhat like show and tell when you were at school. I know that when I contribute to open source frameworks, I’m always double and triple checking my code to ensure it’s the best I can produce. It’s this type of self assessment that is incredibly beneficial to you as a developer.
Helping Others (and Yourself)
The great thing about joining in on open source endeavors is that you can help other developers in the community. Your contributions along with everyone else’s improves the project as a whole.
In the case of front-end frameworks, you can contribute as little or as much as you want to. Anything from bug reports, feature requests and even providing feedback are valued contributions.
Again, Foundation is a good example of this. Its developers are active in improving and refining their CSS framework. They released several major versions over the last few years (now at version 6) and each time feedback from the community leads to a better product. If you’re new to Foundation, check out the articles listed below for more details on the latest release of the framework.
- What’s New in Foundation 6?
- Getting Started with Foundation 6’s CLI Tools
- Foundation 6: The New Menu Component
- Foundation 6: The New Flex Grid
Leveraging Existing Solutions
This is a no-brainer. Using an existing framework instead of building everything from scratch is faster. In fact, it takes your mind off the basics and lets you focus on the complexity of your job.
When thinking about building up from the strength of existing solutions, ZURB Foundation’s grid component comes to mind. You can use the Grid by applying a combination of rows, columns and settings to build both simple and complex layouts.
The benefit here being that the Grid just works, you don’t need to worry about it breaking or figuring out the responsive logic yourself, you can leverage the collective experience of other developers to help boost your development.
Open Source, What Does the Team Behind Foundation Think?
While it’s all good for me to sell you the wonders of open source and all it can offer you, what’s more useful is actually hearing from businesses that have embraced open source.
ZURB, the developers behind the CSS Foundation framework, open sourced the entirety of their project. I recently spoke with Kevin Ball, the Foundation lead developer to get their general feelings about open source and their business. Here are his responses:
What was the decision process in making Foundation a free, open source project?
ZURB has a mission of changing the way people design connected products and services, with a goal of reaching 50 million people. The first version of Foundation came out of the internal coded style guides we were creating for our design clients. Open sourcing it seemed obvious so that would reach our goals.
How central is open source as a whole to you guys as a business?
We see open source as one of the most effective ways to facilitate user education and innovation.
In addition to educating people and helping them design better, open sourcing has a variety of other impacts also. For one thing, it’s a great way to meet new people. When users download and use some of our open source software, we love hearing their feedback, modifications they’ve made to the source code and any suggestions they might have.
We recently evaluated some of our open source projects and noticed three big things:
- There’s a huge demand for open source tools, and our hope is to help meet that demand in whatever ways we can, with our Playground pieces, Foundation and future creative experiments.
- The bar for quality is set very high in the open source community. Part of this is because, as soon as a product is released, there’s immediate feedback on what can be improved
- Maintaining open source software requires a huge amount of commitment, because there’s a degree of dedication that would be required for people to trust a new tool. We already pledged our commitment to making the web a better place by contributing nifty source codes that people can incorporate into their own designs. And it’s a commitment we intend to honor.”
Has making Foundation open source improved foundation as a whole? What are your thoughts on how Foundation has progressed overall?
There’s an African proverb – “If you want to go fast, go alone. If you want to go far, go together”. There are definitely ways in which having the large community of people has created more overhead, or caused some things to move slower than they might otherwise, but Foundation has come far further in 5 years than it ever would have if we’d gone alone.
Did you have any issues or concerns with open sourcing Foundation or any of your other projects?
Given the way that we think about things, the question is always around how we can move the conversation and the design world forward. Obviously as a business, we need to make money, and we do have projects that we’ve kept proprietary, but from our perspective our business thrives when we are innovating and leading the conversation, and the vast majority of work that we do can do a better job of that as open source than not.
How important is community involvement with Foundation?
We’ve historically been relatively heavily involved, and over the last year or two have really evolved to be much more community driven. We have a great and involved core team of contributors outside of ZURB, and the last few releases have been roughly 80% community code.
We believe we have a lot to offer in terms of vision and direction, but given our mission, the stronger the community and involvement the more we’re aligned with truly changing the way people are designing connected products and services.
Wrapping It All Up, Considerations on Open Source
More from this author
As you can see, embracing open source, especially when it comes to CSS frameworks and libraries, can be extremely beneficial. ZURB has shown that when a business embraces open source ideals and makes them a key part of their business, they can leverage the collective power of the community for everyone’s benefit.