Open-Source Software (OSS):

                                                  is computer software with its source code made available with a license in which the copyright holder provides the rights to study, change and distribute the software to anyone and for any purpose.
Open source
There are numerous successful open source projects that have redefined the world we live in. Same can be said for closed source products. But let’s ignore Microsoft, Apple, Oracle, and Red Hat for a second.
Value your freedom or you will lose it, teaches history. ‘Don’t bother us with politics’, respond those who don’t want to learn.
-Richard M. Stallman

Can I learn from open source software?

For the purpose of learning and experience choose an open source project that is widely adopted (large and active developer community plus large number of installations worldwide).  Also make sure the open source project is a product that solves problems in a domain you are interested in pursuing in your career.
If you want to learn about new technology then open source is best path for you , here are some important  open source sites:
  • Boost C++ Libraries. No better place to learn the real C++ than here!
  • 0 A.D. – A free and open source, cross-platform historic real-time strategy game. You can find a list of open source games here – List of open-source video games
  • The Linux Kernel – One of the biggest, best and most well maintained open source project.
  • Doxygen and OpenGrok are documentation generators / source code indexers.
  • GCC – The GNU Compiler Collection. Learn the entirety about Compiler Theory.
  • VLC media player and MPlayer – The Movie Player – Audio/Video Player.
  • Python.org – our beloved programming language.
  • GNOME and KDE. The desktop environment giants for Linux based systems.
  • Bootstrap and Foundation | Zurb – The ubiquitous front-end frameworks!
  • MediaWiki – The free and open source wiki package.
  • Eclipse – A popular open source IDE.
  • LibreOffice – The open source office suite
  • eXo Platform – The open source enterprise social collaboration software 
  • Application software
    • Eclipse – development environment comprising an IDE(one of the widely used IDE)
    • GIMP – graphics editor
    • Mozilla Firefox – web browser :http://github.com/mozillaSome of them (like the labs projects) are simple addons that usually use Github for bug tracking and patches and thus should make for a good point of entry.
    • Chromium – web browser
    • Mozilla thunderbird – e-mail client

Some good open source projects to learn style and good coding practices:

Github a social coding site is the most active site in these days , if you want to learn any language then just search in net and get the source code in github and start working and learning.If you are not familiar then see this :

Start with this two part tutorial: GitHub For Beginners: Don’t Get Scared, Get Started – ReadWrite (part 1) and GitHub For Beginners: Commit, Push And Go – ReadWrite. I really liked this series. It assumes that you aren’t a software developer and that you may have tried using github and gave up. I highly recommend you take an hour and walk through both parts of this tutorial. When you are done, you will have feel that you have a good start on being able to use git.

Recently I read a answer in Quora which explain this topic better :

Let’s assume that you want to contribute to organization X. Go on their wiki.

Check do you know the technologies that they use?

  • Yes? Most of the FOSS Organizations have a lot to help a newbie to contribute to their Software. Clone the source code. Almost all FOSS Organizations have something to file a bug, try to list them in easy to hard order. Many FOSS organizations have specific helps for newbies. For ex:GNOME has GnomeLove, Linux Kernel has Linux Kernel Newbies,Mozilla has What can I do for Mozilla, all for newbies.If you get stuck anywhere, read blogs, read tutorials, ping the contributors, ask on irc. Lurk on their IRC Channels. Ask. Do not hesitate. Not even once. If you asked you will feel stupid (if) only for a second, but not for your whole life.
  • No? No problem. Start learning them now. Learn Git (revision control) or any other revision control system the organization of your favorite project uses.Read blogs. Most open source contributors maintain a blog and have GitHubprofile.You need to understand everything is hard, until learned. Start learning what interests you. Again lurk on the ircs. Ask people if you get stuck somewhere.It’s very easy to get started with Open Source Contributions. Believe it and Get Started.

Some do’s and don’ts.

DOs:

  • Add yourself to their mailing list.
  • Ask questions.
  • Read the wikis properly, before asking any question. Most has awesome help and wiki pages.
  • Lurk on the irc channels.
  • Read Blogs.
  • Be honest.
  • Learn if you don’t know, but you are interested in.

DON’Ts:

  • Do not act.
  • Do not show off.
  • Do not lie while asking for help.
  • Do not sit the assumption that you won’t be able to learn X.
  • Do not turn your internet and your mind off!
  • Obviously do not abuse, if you didn’t got the help you expected.

Other useful links:

some other Open Source Projects.

(source : Open-Source-How-do-I-start-with-open-source-projects )


SEE ALSO:crash-friends-whatsapp-sending-200-kb-message

Making college-level projects to making massive industry-grade products:

How to go about gaining advanced technical know-how in Computer Science,  to be able to make high-quality software like Google,Amazon, Quora, Wikipedia etc – software that are used by people worldwide, that are reliable , secure ,efficient and can scale easily.

One of the answer is :

Start some of your own projects as open-source and put them up on GitHub or the like.  Part of what this does is it helps build up a “portfolio” of sorts, which you may be able to leverage to get a better job than you might otherwise have done, as potential employers can see your work.

Keep an open mind, keep learning outside the classroom, and keep in practice. That’s the best way to get ahead.

The Open Source Initiative (OSI) actively promotes open source software by educating developers, decision makers, and users about the advantages of open source software and collaboration techniques. OSI’s members are active in the core open source development communities as well as in government, academic and industry circles, helping to educate people about open source. As part of its mandate on education, OSI members deliver presentations about open source technologies, collaboration techniques, and community building at conferences and seminars across the world. OSI Board members and individual members have also conducted workshops as well as short and long courses on open source concepts, techniques, and technologies.

– opensource.org


 

Other useful links :