beanz Magazine


Ewen Roberts on Flickr

Forks are used in software development to describe how projects and software work.

Forks are used in software programming. Seriously. You might wonder how a programmer manages to get a real fork into their code but it’s simpler than you think.

Forks happen when source code is copied and a new seperate development project is made from the copy. It’s common in open source software projects, in part because the forked code is publicly available for anyone to work on.

While forks happen in software projects, they’re not always successful. The number and timing of forks also can reveal the health or strength of the original project.

For example, members of an open source project could fork the source code if the larger development team decides not to add functionality they want. The risk of a fork helps open source software project developers to work together to debate and resolve problems within their team.

Forks also happen with proprietary software projects, for example, when different versions of software are needed for different groups or new technology. However, today, software developers try to maintain one set of code and treat new requirements as extensions that work off the original code. DRY, or Don’t Repeat Yourself, is a concept to help developers avoid duplicate code which is difficult to maintain.

When a fork happens, the seperate sets of code are called branches. The idea of forks as branching dates back to at least the 1400s. Software forks date back to around 1980.

Finally, when a software process runs, it can split or fork when the original process clones (forks) itself. The parent and its child process share the same data but can be identified as seperate processes. Forking a process is an important part of the Unix and Linux operating systems. It allows the computer to process data faster than if it had to wait for the parent process to execute.

And, don’t forget: What do you do when you walk up to a fork in the road? Why, pick it up, of course. Unless it is this fork which is 35 feet tall and firmly planted in the ground.

The World’s Largest Fork (spookyamd on Flickr)

Learn More

Fork (Software Development)

Fork (Software Process)

To Fork or Not to Fork

10 Interesting Open Source Software Forks and Why They Happened

A Comprehensive Study of Software Forks: Dates, Reasons, and Outcomes

Fork (Utensil)

Why Open Source Software

Also In The August 2016 Issue

A thoughtful essay to inspire the start of a new school year.

Teacher and librarian Colleen Graves describes her journey with her students learning about invention literacy.

This summer two interesting books appeared, one teaches computer science concepts within a detective story, the other explores how teachers can use design thinking.

Makey Makey projects can teach kids about user interface and design cycles and empathy while having fun.

Forks are used in software development to describe how software projects evolve.

Board and card games organized by grade level, with links to more tools.

Schools and public libraries are perfect places for people to have fun and learn as they make things

Discrete math is an important computer science skill that introduces you to logic and logic circuits.

Creativity is innate in all people. Design thinking is a way to bring out and amplify this natural creativity.

While everybody on the planet has used a web browser, many people don't know about web browser history.

Here's how to tell if you are a beginner programmer or if your programming skills are evolving.

If you are looking for ways to learn a new programming language or framework, here are my 5 suggestions.

Links from the bottom of all the August 2016 articles, collected in one place for you to print, share, or bookmark.

Interesting stories about computer science, software programming, and technology for August 2016.

Computer science unplugged teaches how computers and computer science works, without the use of computers.

Paul describes his daily life as a programmer from Derby in the United Kingdom.