ocaml.org
ocaml.org copied to clipboard
Outreachy Summer 2024
Hi all,
here's some information about the Outreachy application period. First of all: welcome! 👋
For non-applicants confused by this issue, see this section.
For Applicants
Thanks for choosing to contribute to the OCaml ecosystem! This is the right place to start if you're considering applying to the following project:
- Run OCaml Exercises Everywhere
Installing OCaml on Your System
Quick Installation
The quickest way to install OCaml currently is using the OCaml Platform Installer.
You'll need to install some dependencies if they're not already installed. This can be done easily using a package manager.
If you're running an Ubuntu/Debian system you can run the following command in your terminal. If you're using Windows, here are the specific instructions, but it is probably easier and quicker to use WSL2 on Windows and then using the Linux/macOS instructions.
sudo apt install bzip2 make gcc bubblewrap rsync patch curl unzip
After your dependencies are installed run the below install script.
bash < <(curl -sL https://ocaml.org/install-platform.sh)
Install the Platform tools.
ocaml-platform
Other Installation Methods
If the OCaml Platform installation method does not suit you then you can take a look at the other installation methods described on ocaml.org: here or there.
Contributions
Before being able to fully contribute to the project, here are simple steps you must follow!
First step: seting up OCaml
If you want to apply to any of the those projects, the first step for you will be to compile OCaml. Please, read through Installing OCaml on Your System. If you're using Windows, here are the specific instructions, but it is probably easier and quicker to use WSL2 on Windows and then using the Linux/macOS instructions.
Now you should be able to go through the basics of OCaml, please follow this tutorial: Your First Day with OCaml.
For more details about the OCaml language you can read this guide about the language.
Try to pick up a few exercises to practice along the way!
Second step: seting up ocaml.org locally
Once OCaml is successfully installed, you also need to install an opam switch that uses a version of OCaml that ocaml.org currently supports, and install the dependencies.
If you are not familiar with Github, a good practice is to fork a repository before working on it. Go on the ocaml.org repository and click on fork.
You can now clone your fork (https://github.com/USERNAME/ocaml.org) to get a local copy of it:
git clone [email protected]:USERNAME/ocaml.org.git
(of course replace USERNAME
with your actual github username, without the @).
Add the original repository as the "upstream" remote:
cd ocaml.org
git remote add upstream [email protected]:ocaml/ocaml.org.git
Once you have a local repository, let's build:
make switch
To locally run the ocaml.org website, simply run:
make start
You should then be able to open the website in your browser at the following URL http://localhost:8080.
Once you've achieved that, please let us know here on the issue that you have. And if you have troubles with it, don't hesitate to ask!
Third step: a good first issue
Once you got the website to run locally, you're ready to start contributing. To make a successful contribution:
- Search for open and unassigned issues with the following tags:
good-first-issue
andoutreachy
- Pick one and try to complete the task described.
- Create a pull request. The task does not have to be completely implemented to create the PR, but your PR can't be empty. After opening the pull requests, tag the project mentors @cuihtlauac and @SaySayo for a review and also if you have any questions or clarifications related to the changes you made on the pull requests.
Ask Questions!
You are bound to get stuck somewhere and that's perfectly fine because that means you're moving towards progress!
If you don't know how to move forward with the problem you're stuck with then don't hesitate to ask .
For general questions, you can ask on discord, which you can access via this invitation link. Once you've joined discord, if you have a question about ocaml.org you can ask on the ocaml.org channel. If you have a general question about something else, e.g. how to get OCaml up and running, you can ask on another discord channel, for example on the Outreachy channel.
Happy hacking :)
For Non Applicants
Outreachy is an initiative to give folks from under-represented groups in open-source the opportunity to do a remote internship in an open-source project. So for open-source communities, Outreachy is a great opportunity to work together with folks from lots of different backgrounds and maybe even grow the community and become more diverse! Outreachy provides the infrastructure for the internships and application process, and the open-source communities need to provide projects and mentoring.
A Note on Using ChatGPT and Generative AI for Contributions
We, the mentors for ocaml.org-related projects, have discussed the role of ChatGPT and generative AI during this contribution period and have identified some of the following--non-exhaustive list of--problems in using this technology to contribute.
We don't want these tools to be substitutes for your judgement and understanding. We don't want your responsibility to be deferred to these tools since they are often wrong and hence unreliable. We want to make sure mentors spend their time and efforts helping you improve and learn.
Your judgement and understanding
We don't want contributors to be using generated contributions in situations where we want you to make your judgement. Submitting generated code with little or no understanding as a contribution would be an extreme case of this.
We think if you make a contribution you should be exercising your own judgement and trying your best to solve some problem. Your effort and hard-work are the true essence of any contribution.
Borrowing code has almost always been fine, but even when you do that you are expected to make the judgement to borrow it in the first place. It also is still your responsibility to test that code and abstractly know why that code is there to begin with.
Responsibility
A large part of open-source involves is about taking on responsibility. We think that use of these tools should not take away from that.
Mentor time
With all the contributions, the mentor would be trying to read through this contribution and provide any feedback so that the contributor can learn from this and improve. This takes time and effort on the mentor's part. This would be wasted if they realize half-way that the code was AI-generated.
Mentors want to help you learn and improve. This is difficult or even impossible to do if you don't show them your own work.
Concluding remarks
We only request you to be mindful of all this.
If you happened to use ChatGPT for something like brain-storming ideas for a contribution, that's ok. We ask you in that case to let your mentor know. Giving them the heads up might help them save time and even put you in a better position of trust.
Hi, I'm Pranay. My initial application for outreachy is accepted. I'm interested in working on this project. I am going through the given instructions above and have installed OCaml on Ubuntu. The link of "exercises to practice" is not working.
Hello @pranayrauni, Welcome! Can I ask what link you're referring to? If you want to learn more about the ocaml language, you can find link to the tutorials here
Thank you @SaySayo for this guide. I'm currently setting up my development environment and look forward to asking questions and contributing successfully too.
Hello @pranayrauni, Welcome! Can I ask what link you're referring to? If you want to learn more about the ocaml language, you can find link to the tutorials here
Here is the link: https://ocaml.org/problems
Oh... I see, @pranayrauni Problems have been renamed to exercises, so you can try accessing it from here https://ocaml.org/exercises
@SaySayo the link to exercises have been updated to https://ocaml.org/exercises, can you please help update it in case others encounter this issue
Oh... I see, @pranayrauni Problems have been renamed to exercises, so you can try accessing it from here https://ocaml.org/exercises
Thank you very much
okay @pranayrauni or @SaySayo or @Aquilaafuadajo I'm unable to run; bash < <(curl -sL https://ocaml.org/install-platform.sh) successfully.
I get a response error of;
bash: line 1: syntax error near unexpected token newline' bash: line 1:
'
What I'm I missing? Thanks.
Hello @SaySayo I'm Sobia Aman from Pakistan. I'm interested in Ocaml projectand want to contribute in it. I'm just landed here and now trying to setup Ocaml environment locally :)
Welcome @SobiaAman, if you need any help with setup and tasks you can drop them here or in the discord channel
@Aquilaafuadajo are you able to help me with the installation issue I'm facing as indicated above?
Thanks @Aquilaafuadajo will let you know if i need any help, Thanks for asking :)
Anyone please share the link of discord channel as well.
hello @SobiaAman , have you been able to install on Linux
@jahielkomu not yet i'm getting error which you're getting
(ocaml) zakia@DESKTOP-I2B0R5O:~$ bash < <(curl -sL https://ocaml.org/install-platform.sh)
bash: line 1: syntax error near unexpected token newline' bash: line 1:
'
Did you resolved the issue? why this link https://ocaml.org/install-platform.sh
gives 404 error?
No I haven't yet @SobiaAman . I'm hoping for any guidance from @SaySayo or those who have gone past that point.
Hello @SaySayo @Aquilaafuadajo i'm stuck at bash < <(curl -sL https://ocaml.org/install-platform.sh)
it gives me an error
bash: line 1: syntax error near unexpected token `newline'
bash: line 1: `<!DOCTYPE html>'
Secondly i tried to access the shell script but it is not available at https://ocaml.org/install-platform.sh
hence it returns 404 error. Kindly help me in this regard.
Thanks
That is exactly the same thing on my end @SobiaAman
Hi @SobiaAman @jahielkomu
Can you try following the guide here https://ocaml.org/docs/installing-ocaml#install-platform-tools to set up your environment
When through, confirm your OCaml and opam installation by running ocaml --version
and opam --version
respectively.
If confirmed, follow the guide on HACKING and README to run the project.
Let us know if you encounter any error along the line
I have installed the setup succesfully, finally up and running Ocaml on my WSL2 (ubuntu 20.-04) . Can someone let me know what to do after that, running the exercises or go to good-first issue as i want to apply in "Run OCaml Exercises Everywhere". I'm comparatively new to Ocaml but eager to learn Ocaml.
i have joined outreachy discord channel but strangly nobody is there, am i missing something?? Can someone help
Hi everyone, my name is Mucha, I am a full stack dev from Kenya, happy to be here as part of Outreachy24
here
W
Hi everyone, my name is Mucha, I am a full stack dev from Kenya, happy to be here as part of Outreachy24
Welcome Mucha, it's nice having you here
Welcome everyone! Are you still having installation issues? @jahielkomu @SobiaAman, did you also join the specific outreachy channel on discord?
@SobiaAman Picking a good first issue
would be the best next step.
Indicate interest in an issue you want to try out and wait for a confirmation to go ahead and work on it from the mentors or maintainers
Hi @SobiaAman @jahielkomu Can you try following the guide here https://ocaml.org/docs/installing-ocaml#install-platform-tools to set up your environment When through, confirm your OCaml and opam installation by running
ocaml --version
andopam --version
respectively. If confirmed, follow the guide on HACKING and README to run the project. Let us know if you encounter any error along the line
Thank you for this guide, I have successfully installed and I'm running it locally.
Hello, I have been able to setup and currently running ocaml locally.
Hello everyone, my name is Wisdom, I am happy to be here as part of Outreachy24
Hi @SaySayo, I am Stella Ugoo-Okonkwo an Outreachy applicant and am happy to be here. I am interested in contributing to this project and currently am going through the above instructions to enable me make a good contribution.
Hello Everyone! I am Ayushi, an Outreachy applicant from India. I am so excited to be here to collaborate with you all and make amazing contributions!