• 4 hours
  • Easy

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 12/12/19

Work with Open Source Projects on Github

Now that you've discovered the glory of Eclipse, let's go a bit deeper into one of its functionalities: the Github plug-in.

What is Github?

Among other things, Github holds open source code (free and public). Some available open source code on Github supports Facebook, Red Hat, and many other well-known companies! It is also available for everyday programmers to store their code in repositories. Github is a great place to put projects you have worked on, whether it's code for building a portfolio or applications that are available for anyone to use!

Work with an open source project

First, open your browser and navigate to the Github website.  There is a sign-up and sign-in option that we will take a look at later when we create our own accounts.  

Now, we will look at a popular open source Java application project. It'll give you a good idea of how complex these projects can get. You will also see that there are many contributors or people who add or work on code, work on issues, and provide solutions!

Now that you've walked through it, feel free to explore the steps in depth below!

Explore an open source Java project

Look at the site for Jabref.  It is an open source Java desktop application created for organizing bibliographies with the .bib format.  It's also got its source code on Github!  The source code is open to many contributors, whether it's adding code or fixing issues.  Let’s take a look at the page.

The JabRef Java Open Source Project on Github
The JabRef Java open source project on Github

When you open up the site, you will see the tabs at the top, the number of commits, and branches.  It is set on master branch and the clone/download link.

Check out the source code

Under the Code tab, you will see the source code that makes up the project.  As you look through it, notice that .github contains some instructional material.

The file structure for the jabref project
The file structure for the JabRef project

Move down to config, and you will see some files that are not in Java but which help in the styling of the application.  Normally in large projects, especially web apps, there will be files from multiple languages. Luckily, Eclipse is built to support several languages and make working on these projects simpler.

jabref config file specific to web application projects
jabref/config file specific to web application projects

Now if you go to the src folder, you will notice a main and a test folder.  Typically in projects, you will find code and resources set specifically for testing. 

Main folder for jabref
Main folder for JabRef

In the main folder, there will be a Java folder holding all of the contents with the Java files, which is sectioned off into databases, mac os, and the main JabRef source code.  If you peruse that you will see multiple Java classes, files, and dependencies.

Understand the Issues tab

This is where contributors can go in and find resolutions to issues in the code.  They can create a copy, which is called a branch, provide solutions by working on their copy, then push it, or put it back onto the server. From there, the project owner can merge the modified branch with the main branch.  This is how you can contribute to an open source project!

This is the type of project that Eclipse is built for and if you choose to work on this project, cloning this onto Eclipse and working on it will be automatically supported.  Let’s find out how to clone a repository into Eclipse!

Summary

After checking out this chapter, you know:

  • that Github is a website for storing code.  Its' features facilitate collaboration on code projects. 

  • what source code looks like on Github.

Example of certificate of achievement
Example of certificate of achievement