So when you say you'd like to make some money, is that because you
need money or
want money?
That right there is a major fork in the advice you can be given. If you need money - like you're going to be out on the street or at least working at Burger King after highschool if you don't find something better - your best bet is developing something that you can directly monetize as quickly as possible that doesn't take any startup capital to get going. Mobile apps were historically the go-to thing, make something simple that you can sell for $1 to a few hundred or at thousand people, repeat. You're going to have a hard time leveraging anything like open-source development into a paying career in less than the "many years" time-span. People are going to be just about as nervous about hiring a 17- or 18-year-old with no degree and 6 months open source experience as they would one without.
If you just want money, either because money is nice or because it seems like a logical next step or because you like the challenge and gratification that comes with paying work (if someone is paying you, you must actually be good, after all) or because you want to fill out your resume, you have a lot more options.
If you are a young person with means and are expected to go to college and spend the next 4-6 years learning, but you already feel like you know enough programming to get a good job if people'd give you a chance, you have a glorious opportunity before you.
From a purely practical point of view, many of us olds lament that all we know is programming, so all we want to program are programming tools. Those of us who were also math majors occasionally want to program automatic theorem-proving software or remake Matlab, which is equally non-profitable.
You, on the other hand have the opportunity to double-major in something completely different, like medicine or horticulture or hospitality or law, and learn about the sorts of software a completely different set of professions need and want, the way only an insider can. While the rest of us are writing the 17,000th text editor that will never replace emacs or vi, you can be writing the garden-management software that millions have been crying out for.
There's a lot of other skills you can learn a little bit about if you're not wasting your time taking ever variation of ever CS class offered. Many highschools, even, offer classes on skills like CAD, welding, and engine repair. If you want to take one of those when you're 30 you'll need to pay 4-10k$ to your nearest community college and find time in your work/life balance to attend the classes.
A huge number of things are going to be easier to learn over the next few years: languages, music, shorthand. You should still get the CS double-major or at least minor, since it will be the certificate you need to get the paying work, but the real opportunity before you is the chance to learn everything else. That everything else isn't just for "rounding out" or "enrichment" or "enjoying youth"; it will make you more valuable as a programmer: you aren't just learning cool things, you're learning domain knowledge for the applications you may someday write.