There are plenty of opportunities to work as a freelance software developer. There are lots of contract software development opportunities available. Just look at one of the contract hiring boards, like dice.com or craigslist, to get a feel for the variety of assignments out there. It is a bit of work to break into this field: once you have some projects under your belt and a track record of success, it's easier to get more work. It might make sense for you to work as a salaried employee for a few years to get some experience.
It's also helpful to pitch yourself as a specialist in something people need. So-called "line of business" web applications (custom applications for particular business purposes) can be an excellent way to position yourself.
"Computer scientist" in the working world usually refers to a university professor or member of technical staff in a research organization. Many computer scientists have PhD degrees and are motivated by pushing the boundaries of knowledge. That sounds hard to do on a freelance basis without at least a few years in an university or research lab.
The answer depends on what you are looking for in life. Are you looking to be a freelance CS, because you want work-life balance or personal freedom, ....? Depending upon your personal reason, that will define what "successful" means. Does success = freedom, so that you can ride along the Rideau Canal or does success = $$$, so that you will be able to travel/dine first class, etc.
Regardless of what your definition of success is, you will find that freelance work will be hard to come by for someone who just graduated from school with minimal to no on the job experience. To be "successful" you will need to build up your experience and project portfolio so that you can land freelance jobs. So to set yourself up for success, I would recommend that you find an employer (1st job) whose culture matches your criteria for success so that you don't feel like you gave up on your dream of freelancing.
Best of luck to you.