Showing posts with label open source projects. Show all posts
Showing posts with label open source projects. Show all posts

Friday, February 3, 2017

The World Big Project Open Source

The World Big Project Open Source

Machine learning

Open Source Operating Systems

Front-end JavaScript frameworks

Design essentials

GitHub Pages examples

Video tools

Saturday, January 24, 2015

8 ways to contribute to open source without writing code

Talking to developers and reading about open source I often get the feeling that the general notion is that open source is just about code and commits. Put another way, "If you don't make commits for a project you are not contributing to it." Or so they say. That notion is far from the truth in my eyes. Let me tell you why.
Sure, code is what ultimately ships and has a direct impact on the users of an open source project, so yes commits and code are important. But it's by no means the only way you may contribute to a project. Projects mostly are a whole ecosystem, which is about more than just code. Here are a couple of other ways you may contribute to a project.

Report issues

If maintainers don't know about issues they can not fix them. Therefore, it is crucial that you report issues you encounter and not just abandon using the project or only build a workaround. Most projects are happy to receive issue reports. Don't take reporting issues lightly either, often a substantial amount of time goes into writing a good issue report. Ideally an issue report contains code to reproduce the issue, information about the expected outcome and the actual outcome, system information, version information and maybe a stack trace or similar artifacts. I also like to include a little note of appreciation for the maintainers, but that's optional. Keep in mind that issues don't have to be about bugs—they may also be about possible improvements or desired features. GitHub even acknowledges the importance of issues by giving you contribution points for opened issues—yay!

Write documentation

Documentation is extremely important but often lacking, as a lot of people really don't enjoy writing it. It's a great way to help a project out by making it easier for other people to get into. Also if you found it hard to get into a project, try improving the documentation so the next person will have it easier than you did. I actually have commits on Ruby—they are all documentation commits.

Improve the website

Many open source projects have their own websites. Sometimes the information is outdated and sometimes it's just plain ugly. I remember the old shoes website—it was really ugly and looked dead (at least that were my thoughts when I first saw it). But look at it now! It looks nice and presentable. And most of it is thanks to wpphe has never pushed a commit to shoes (that I am aware of), but this certainly was a great contribution for shoes.

Offer to help with art/design

A lot of projects would love to have their logo updated, get some illustrations for their website or similar thing. So if design or illustration is your thing, maybe go to your favorite project and ask them if they want some help with that? I know I'd be more than happy about that!

Trying out preview versions

Developers need feedback if their software works. Therefore, alpha, preview or release candidate releases are made often. Go grab one of those and try it out. If everything works—great, you just made sure it works on your system! If you find a bug—report it! That's a great help for the project.

Weigh in on discussions

Sometimes there are discussions about API changes or ways an implementation could be improved (among other things). Comments are very welcome there, maintainers want the input of their users. I once spent a whole day discussing some architectural issues I identified in a project. It was fun. Other work might be setting up a road map—Eric Watson did that for Shoes 4 one day. He's a great coder, but that road map helped the project more than any code he could have written in a similar time frame. His road map went on to be a very helpful guidance and reference point.

Answer questions

Questions about a project pop up all around the place. Be it Stack Overflow or just the project's issue tracker. By answering them you help other people to get a better experience with the project overall. Also don't forget that a question might hint at a problem with the project. Maybe the documentation for this part could be improved or there is a common task that might be automated or deserves a better API? Maybe you could jump in to do this?

Give a presentation about a project

There are many great projects out there, but developers may only adopt them if they know about them! If you really like a project, consider giving a talk about it at a local user group or handing in a talk for a conference. This way the adoption of the project may be increased, bringing more people to the project making it a better and more stable product overall—benefiting everyone.


If you already have done any of the above: thank you! You contributed to open source. Keep doing that if you like, if not give it a shot. If you want to get started on contributing to open source, this post of mine might come in handy. Personally contributing to open source has been an amazing journey for me so far. I enjoy it very much and have made quite some friends that way.

Top 10 open source projects of 2014

Every year we collect the best of the best open source projects covered on Last year's list of 10 projects guided people working and interested in tech throughout 2014. Now, we're setting you up for 2015 with a brand new list of accomplished open source projects.
Some faces are new. Some have been around and just keep rocking it. Let's dive in!

Top 10 open source projects in 2014


"In the same way that power management and virtualisation has allowed us to get maximum engineering benefit from our server utilisation, the problem of how to really solve first world problems in virtualisation has remained prevalent. Docker's open sourcing in 2013 can really align itself with these pivotal moments in the evolution of open source—providing the extensible building blocks allowing us as engineers and architects to extend distributed platforms like never before." —Richard Morrell, Senior software engineer Petazzoni on the breathtaking growth of Docker.
Interview: VP of Services for Docker talks to Jodi Biddle in Why is Docker the new craze in virtualization and cloud computing? "I think it's the lightweight nature of Docker combined with the workflow. It's fast, easy to use and a developer-centric DevOps-ish tool. Its mission is basically: make it easy to package and ship code." —James Turnbull.


"One of the projects you're starting to hear a lot about in the orchestration space is Kubernetes, which came out of Google's internal container work. It aims to provide features such as high availability and replication, service discovery, and service aggregation." —Gordon Haff, Open source accelerating the pace of software.


"It’s almost always the case that the project management tool doesn’t reflect the actual project scenario. One solution to this is using a tool that is intuitive and fits alongside the developer's normal workflow. Additionally, a tool that is quick to update and attracts users to use it. Taiga is an open source project management tool that aims to solve the basic problem of software usability." —Nitish Tiwari,Taiga, a new open source project management tool with focus on usability.

Apache Mesos

"Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications or frameworks. It sits between the application layer and the operating system and makes it easier to deploy and manage applications in large-scale clustered environments more efficiently. It can run many applications on a dynamically shared pool of nodes. Prominent users of Mesos include Twitter, Airbnb, MediaCrossing, Xogito and Categorize. —Sachin P Bappalige, Open source datacenter computing with Apache Mesos.
Interview: Head of Open Source at Twitter talks to Jason Hibbets in Scale like Twitter with Apache Mesos. "As of today, Twitter has over 270 million active users which produces 500+ million tweets a day, up to 150k+ tweets per second, and more than 100TB+ of compressed data per day. Architecturally, Twitter is mostly composed of services, mostly written in the open source project Finagle, representing the core nouns of the platform such as the user service, timeline service, and so on. Mesos allows theses services to scale to tens of thousands of bare-metal machines and leverage a shared pool of servers across data centers." —Chris Aniszczyk


"As OpenStack continues to mature and slowly make its way into production environments, the focus on the user is continuing to grow. And so, to better meet the needs of users, the community is working hard to get users to meet the next step of engagement by highlighting those users who are change agents both in their organization and within the OpenStack community at large: the superusers." —Jason Baker, What is an OpenStack superuser?
Interview: Infrastructure manager at CERN talks to Jason Hibbets in How OpenStack powers the research at CERN. "At CERN, the European Organization for Nuclear Research physicists and engineers are probing the fundamental structure of the universe. In order to do this, we use some of the world's largest and most complex scientific instruments such as the Large Hadron Collider, a 27 KM ring 100m underground on the border between France and Switzerland. OpenStack provides the infrastructure cloud which is used to provide much of the compute resources for this processing." —Tim Bell.


"A lot of what I want to do is enable people to not only have more free time for beer, but to have more free time for their own projects, their own ideas, and to do new an interesting things." —Michael DeHaan, Making your IT infrastructure boring with Ansible.
Interview: CTO of Ansible talks to Jen Krieger in Behind the scenes with CTO Michael DeHaan of Ansible. "I like to quote Star Trek 2 a lot. We definitely optimize for 'the needs of the many'. I know Spock dies after he says that, but he does get to come back." —Michael DeHaan


"I was looking for an easy way how to have all my online storage services, such as Google Drive and Dropbox, integrated with my Linux desktop without using some nasty hack, and I finally have a solution that works. I'm here to share it with you. This is not rocket science really, all I did was a little bit of documentation reading, and a couple of clicks." —Jiri Folta, Using ownCloud to integrate Dropbox, Google Drive, and more in Gnome.
Listed: Top 5 open source alternatives: "ownCloud does most everything that the proprietary names do and it keeps control of your information in your hands." —Scott Nesbitt, Five open source alternatives to popular web apps.

Apache Hadoop

"Apache Hadoop is an open source software framework for storage and large scale processing of data-sets on clusters of commodity hardware. Hadoop is an Apache top-level project being built and used by a global community of contributors and users. It is licensed under the Apache License 2.0." —Sachin P Bappalige, An introduction to Apache Hadoop for big data.


"When it was released in 2011, Drupal 7 was the most accessible open source content management system (CMS) available. I expect that this will be true until the release of Drupal 8. Web accessibility requires constant vigilance and will be something that will always need attention in any piece of software striving to meet the Web Content Accessibility Guidelines (WCAG) 2.0 guidelines." —Mike Gifford,Drupal 8's accessibility advantage.


"We are seeing more and more that the networking functions traditionally done in the datacenter by dedicated, almost exclusively proprietary hardware and software combinations, are now being defined through software. Leading that charge within the open source community has been the OpenDaylight Project, a collaborative project through the Linux Foundation working to define the needs which software defined networking may fill and coordinating the efforts of individuals and companies worldwide to create an open source solution to software defined networking (SDN)." —Jason Baker, Define your network in software with OpenDaylight.