blogging - humphd/topics-in-open-source-2024 GitHub Wiki

Blogging

Due Date

Friday Sept 6th by midnight

Blogging and Open Source

The "open" in "Open Source" means more than just that the code is available. Real open source is open in terms of its process, too: open source is about working in the open. A big part of working in the open is writing about that work, documenting what you do, teaching one another things we discover as we go, and helping to draw attention to important ideas. Writing is a major part of open source, and we'll use our blogs to write, discuss, debate, announce, plan, and learn.

Open source also values writing like this for the historical perspective it gives. Long after project or code decisions are made, we often need and want to go back and understand why things happened as they did. Blogging contributes to the historical record.

Finally, blogging provides a way to capture our hard work and contributions. When students are applying for jobs, it's helpful to have something they can point to in order to showcase their previous work. By keeping a blog now, you help build a record of your abilities, experience, and contributions.

Having your own blog will enable you to more easily join the global open source community. A blog gives you a voice, which you can use when and how you want.

You will be required to keep a weekly blog for the duration of the course. We'll use this blog to share what we're learning, discuss open source, submit our labs and releases, etc.

In this lab you will create, configure, and use your blog for the first time.

Pick a Blogging Platform

You can use any blogging platform or software you want. If you already have a blog, you're free to use it (skip to the next section). If you don't, there are a number of free, popular blogging platforms you can use:

This year I'm also going to allow students to choose to record videos instead of writing a blog (optional). If you'd rather record and share videos each, that's also fine. You can use services like YouTube, TikTok, Twitch, etc. Increasingly, developers are showcasing their work, and teaching their peers, through video content. Maybe that's a better fit for you?

Regardless of how you choose to do it, you need to pick a platform that will allow you to publicly share your work and progress each week. Take a look at the different options and choose one you like. Create an account for yourself.

Create a GitHub Account

We will be using git and GitHub for all of our development work, and you need a personal account. If you already have an account, you can use that. If not, you should create one now.

Give some thought to your username, since you might have it for a long, long time. Also, spend some time customizing your GitHub profile. You want your GitHub profile to reflect who you are as a developer, since this is something many developers will look at when they first meet you.

Research a Trending Repository on GitHub

GitHub users can star a repo (or developer), and these stars are used to show trends. The GitHub Trending page is an active list of which project repos and developers are getting the most stares.

Take a look at the list of Trending pages:

You might also find this map of GitHub useful, which shows an experimental visualization of 400K GitHub repos and their connections.

Pick a project that interests you. (NOTE: you don't have to work on this project after this week, it's just something to get you started)

Fork the Repo

Open source repos on GitHub can be "copied" by you into your own account. We call this forking a repo.

Fork the repo you chose in the previous step. When you're done, notice the difference between the URL for your forked version, and the original.

NOTE: forking the project doesn't oblige you to do anything, nor do you need permission.

Create your first Blog Post or Video

Now that you have a blog or video account, it's time to start using it!

Your first post should include the following:

  • Introduce yourself. Why are you taking this course? What is it about Open Source that attracted you?
  • What are you hoping to accomplish this term? What kinds of projects do you want to work on?
  • What was the the GitHub trending repo you researched above? Provide a link and tell us about it. Why did you pick it?

Submission

When you've finished the lab, please email your professor the following information:

  • Name
  • Blog URL or Video Sharing URL
  • GitHub Username

Once this is done, you'll be added to the People section of the main wiki page and given collaborator rights to this repo, and your lab will be submitted and complete.

Start Writing Weekly

Every week you'll need to add new posts to your blog. Sometimes I'll tell you what I want you to write, but you're free to write about any of the work you're doing, your thoughts on the material, discuss things you're learning, etc. Use your blog to help you document your journey into open source.