Skip to content

NCATCS/NCATCS.github.io

Repository files navigation

Welcome to the code behind NC A&T's open-source GEEN-165 Resource site.

##What is open source? Open-source is a term used to describe any program, website, or other project where the source code for that project is publicly available. Technically, in order to truly be "open source", a software project must have an accompanying license that gives others the legal right to view, edit, and distribute their code, subject to certain conditions. This website is published under the Unlicense, which strives to give the most power possible to open source users. GitHub hosts the largest collection of open source projects in the world.

Why open source?

It may seem counter-intuitive that large software companies would reveal the code that makes their products run. Why, you might ask, would you want to give away the code that supports your business?

The short answer is that open-source software is good for the community that develops it and for the community that uses it. The long answer is a bit more complicated:

  • Open source software can expand beyond the ability of the original developer.
    • Many open source projects are started by a single developer. In order for these projects to grow to their full potential, they requre many more developers assisting in solving problems. Open-source allows anyone who finds the project valuable to contribute to development.
  • Open source software earns higher trust from those who use it.
    • Trust is important for a large number of software uses. For example, AESCrypt is an open source encryption utility available across all major platforms. For something as important as Advanced Encryption Standard security, users only want to use software they can trust. By being open source, AESCrypt allows users to inspect their software and ensure that no security liabilities are present in the product they are using.
  • Open source software is often ported to additional platforms.
    • As a developer, you may specialize in developing for a specific platform, Mac OS, for example. By creating a Mac OS application as an open source project, you can harness other developers specialized in platforms like Linux and Windows to port this application to their platform, utilizing their expertise.
    • Ki-Cad, an open source CAD program for designing printed circuit boards, FreeCAD, an open source 3D CAD application, Atom, an open source text editor started by GitHub, and more are all examples of applications that can run on multiple platforms due in large part to the contributions of the open source community.
  • Open source apps can still be profitable.
    • RedHat is perhaps the best example of open source software that can still be a very profitable business. RedHat creates highly robust, highly adaptable cloud and backend solutions for an expansive assortment of applications. While the software itself is, technically, free, many businesses purchase RedHat subscriptin to get continuous updates and support. Additionally, because RedHat is open source, network administrators feel comfortable using it because if there is a specific feature they need, they can simply look at the source code and implement it.
    • Donations are a large part of the open source community. Many open source applications offer a free download, but request a one-time donation if you like the software and use it regularly.

Why should I care about open source?

As a student in Computer Science, open source projects offer a rare opportunity to not only use quality software at little to no cost, but to see how this software works. Reverse-engineering is one of the most effective ways to make discoveries about how things work. Eclipse is one of the best known open source projects in our field. It is a collection of open source projects, including multiple IDEs and other developer tools. If you have ever wanted to see what an IDE looks like under the hood, head over to Eclipse's open source repository and take a look around.

Additionally, many professional grade software development services are free for open source projects. For example, GitHub offers unlimited free hosting of open source, or Public, repositories. Additionally, the powerful continuous integration and deployment platform Travis-CI offers free virtual build servers for open source GitHub projects.

About

GitHub Page for NC A&T Computer Science

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published