How to contribute freecodecamp codebase (Windows local dev environment setup)


I have some freetime since my last job and in the meantime im looking to contribute, and learn as much as possible. I was advised to look at the many open issues in the repository and find some that I can contribute to but im not sure where to start.

History: I tried to make a pull request two years ago to freecodecamp but it was not accepted, I was advised to first create an issue before creating any pull request or before starting to work on anything.

I excited to make some contributions to an actual platform like freecodecamp that is used by so many people. So ive created my first issue but unfortunately I see it was assigned to someone else. Why?? Maybe I should reach out to the one was assigned my issue and see if I can collaborate with him and be of some assistance? I dont want to step on anyones toes, not sure how it works here.

Note, I am only have windows machine.
I found this set up wsl

but im not sure if I should do it as I was told that the way was:

set up my machine for a dual boot. have two separate SSDs (one for Windows and one for Linux). On the linux machine it only takes about 4-5 minutes running npm run develop after installing everything.

Right now Im able to use gitpod (though its somewhat slow to get started but it seems to be working and I can see the changes updated in the UI). I can set up the linux subsystem and go through all the necessary steps, I just want to know there is someone I can work with that will help me get rolling.

Can I be of assistance to someone in a capacity? Is someone looking for collaboration, communicate with me once or twice a week to get some work done?

I realize many people here are experts and dont need my help. I am looking at this as more for my own experience and eductation and I would be very thankful for any guidance to contribute to freecodecamp codebase and helping me become a contributing member to this community.

We typically don’t assign issues to users, but sometimes we’ll assign an issue to staff it its something that’s in their scope of responsibility/expertise.

Ahmad is the one that deals with the donations, so I assigned him so he is notified of the thing. It’s still with “waiting triage” label.

If you want to contribute to freeCodeCamp you can look at the issues with “help wanted” label, and see if you can think you can create a PR for them, and even “first timers only” if it’s your first issue. There are many open that don’t have PRs that will close them.

True, I want to learn the stack you are using, and how it all works together, it is very interesting.

One cool feature of freeCodeCamp is the curriculum teaches you the MERN stack, which is actually the core stack freeCodeCamp is built out of.

So in theory you could go through all the web dev stuff using freeCodeCamp, then go and be familiar enough to help contribute back to the curriculum. (Its like dogfooding?)

One challenge with local development is everyone’s system is different, and thus the experience can be dramatically different. Plus depending on your own resources you could easily do something wrong and screw up your own system (!)

This is why freeCodeCamp doesn’t go over local-development, because its difficult to teach reliably.

Your best bet is to pick up a guide, and “deal with whatever comes up”, and possibly pray your system allows you to follow the happy path. Be sure to have a backup internet connection, and stick with lower-risk options. (WSL 2 is very low risk)

1 Like

yeah, I working on it now. thanks

in fcc docs it says:

“followed by upgrading to wsl2”, yet on microsoft site it says “install sets wsl2 as default”:

microsoft docs “best practices for setup” say I must create a username and password:

it say Ubuntu is setup by default yet on fcc docs it says “install ubuntu” as if there is some specific command to install it?
I still dont have access to “sudo command”

microsoft docs say “once process is complete”… does this mean process is complete? THis is what I get now after fixing error: 0xc00400d

open distribution using start menu, where would that be? I dont see anything for Linux or Ubuntu in windows start menu

is there some step I missed?
when I do version command It say there is no distributions:


p.s. there is also this article but I didnt follow it yet:

It seems you still need to install a Linux distribution

When in doubt always follow the official docs for the thing you are dealing with, so install WSL following Microsoft instructions

Also if it says to use the power shell, maybe use that instead of the command prompt (two different things)

Or follow the last message and go install a Linux distribution

sorry i dont understand

the microsoft docs says:

wsl install command installs Linux Ubuntu by default

command wsl --install shows the same output reguardless of powershell or command prompt

I can try to restart my machine maybe that will fix it.



Though, it is confusing because microsoft docs say Ubuntu is installed by default

Something went wrong and you need to install manually, choose which one to install, you can go with Ubuntu

yeah, ill choose the most updated version. thanks

Just “Ubuntu” will give you the last version, the first one of the list

1 Like

Yes Its working now, thank you.

I guess Im finished with the microsoft docs I will proceed with
Step 2 Update dependencies for the OS

At this point you have WSL installed and your in Linux. :clap:



going to that link takes me here:

my docker desktop looks like this so use wsl2 is already selected by default:

I try to upgrade it follwoing the instructions but it doesnt work:

it says press any key to continue I do that and it just closes the Ubuntu terminal

it says conversion in progress and closes the ubuntu terminal I would assume it would update, but when I again try docker command it still does not work

here is what it look like in resources:

Edit; just found this post I will try it and report back:

ive tried this, hopefully it will work now:

I tried to follow this advice:

I try to do it in powershell instead of command prompt it does not close terminal like it did before so I think its worked and converted it:

howerver the docker command is still not recognized in the Ubuntu terminal. however now it appears that it has updated to version wsl2 so that is working:

Ive selected this in the settings

edit: Ok I think its working now… I will proceed

Im up to this step now:

kravmaguy@LAPTOP-RK70PCTV:~$ docker pull mongo:4.0

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=mongo&tag=4.0": dial unix /var/run/docker.sock: connect: permission denied

I think its perhaps because:

I open:

Where is the Local Users and Groups option?


I see the user here

this user has the following permissions, why is permission denied? it says I must add him to the group yet he is already part of “docker-users”

Edit: nevermind its working now

are these commands to be done in the ubuntu terminal or in a different terminal?

its not clear from the directions what is supposed to be done

is this link supposed to guide me through setup? the link does not work

nvm is an other thing to install on its own, the word is a link there, it should bring to installation I think

1 Like