28 2 / 2014

A year and a half after the first line of code was written, we’re really excited to be open-sourcing uwflow.com!

Flow was developed by four students in the Software Engineering 2014 class. We open-sourced for these reasons:

  • We’ll (hopefully) be graduating in two months.
  • We hope Flow continues to help students long after we graduate.
  • We want to see Flow continue as a student-driven project for students.
  • We have lots of features and improvements we wanted to make, but didn’t get the time. For example, analyzing prerequisites, recommending courses, building a conflict-free timetable, and auditing degree requirements.
  • We’ve always wanted to bring Flow to other universities (and others have asked us), but our hands were full with just Waterloo. Now others can do that for us. :)

So over the past few days and months, we’ve prepared the codebase to be open-sourced:

  • Wrote developer docs.
  • Ensured tests were in good order.
  • Wrote a style guide and set up a linter.
  • Tested setup on fresh installs of Mac and Linux (Ubuntu 12).
  • Picked the permissive MIT license so you can fork, modify, and host this for your school.

Want to contribute? Check out the code on GitHub.

Not sure where to start? Perhaps you can tackle one of these issues.

Have questions or just want to talk? Come hang out with us in our public chat room.

Want to fork Flow to be a white-labelled platform for your school?Awesome – go for it. Just be wary that the data scrapers are tied to Waterloo’s APIs.

Although we’re graduating, we’ll still be the primary maintainers of Flow for a while. But, we’ll be on the lookout for active contributors to whom we can gradually hand off responsibilities — review pull requests, ensure the site stays up, ensure Flow stays up to date, and, eventually, take over as primary maintainers.

For more context on how we started, why we open-sourced, and what’s next, read David’s blog post.