Software Licensing for Computer Engineers: Legal Guide

Last Updated: November 20, 2025

Introduction

Every time you write code, create a database schema, or develop a software application, you’re creating intellectual property that’s automatically protected by copyright. But copyright alone doesn’t tell others how they can use your work—that’s where software licenses come in.

Software licensing is one of the most important yet often misunderstood aspects of computer engineering practice. Whether you’re developing proprietary applications for a company, contributing to open source projects, or building your own software products, understanding software licenses is essential for both protecting your work and respecting others’ rights.

As computer engineers in the Philippines, we work in an increasingly interconnected global software ecosystem. The code we write often incorporates libraries, frameworks, and tools created by others, each with its own license. Making the wrong choice about licensing—or worse, ignoring licenses altogether—can lead to legal problems, limit your ability to commercialize your work, or inadvertently give away rights you intended to keep.

This comprehensive guide will help you understand the landscape of software licensing, from permissive open source licenses to restrictive commercial agreements. You’ll learn how to choose the right license for your projects, ensure compliance when using third-party code, and navigate the legal requirements specific to the Philippines.

What is a Software License?

A software license is a legal instrument that governs the use, modification, and distribution of software. It’s essentially a contract between the copyright holder (the person or entity who created or owns the software) and users, specifying what they can and cannot do with the software.

Without a license, copyright law provides strong default protections: nobody can legally copy, modify, or distribute your software without your permission. A license explicitly grants specific permissions while potentially imposing conditions or restrictions.

Why Licenses Matter

Software licenses serve several critical functions:

  1. Define Permissions: They specify what users can do with the software—use it, modify it, redistribute it, or use it commercially
  2. Set Conditions: They may impose requirements, such as attribution, sharing modifications, or maintaining the same license
  3. Limit Liability: They typically include disclaimers that limit the developer’s legal liability
  4. Protect Rights: They help copyright holders retain control over their work
  5. Enable Collaboration: They create legal frameworks for collaborative development
  6. Support Business Models: They enable various commercialization strategies

The Foundation: Copyright Protection

Before diving into specific licenses, it’s important to understand that software licensing is built on copyright law. In the Philippines, under the Intellectual Property Code (RA 8293), computer programs are protected as literary works under copyright law.

Key copyright principles for software:

  • Automatic protection: Copyright protection exists the moment you create original code—no registration required
  • Exclusive rights: Copyright holders have exclusive rights to reproduce, modify, and distribute their work
  • Default restriction: Without a license, others cannot legally copy, modify, or distribute your code
  • Expression, not ideas: Copyright protects the code itself, not the underlying ideas or algorithms

This is why even code without an explicit license is protected—the copyright holder simply hasn’t granted permission for others to use it. If you find code online without a license, you cannot legally use it without obtaining permission from the copyright holder.

Types of Software Licenses

Software licenses fall into several broad categories, each with different philosophies and practical implications.

1. Proprietary (Closed Source) Licenses

Proprietary licenses grant users limited rights to use software while maintaining tight control over the source code and how the software can be used, modified, and distributed.

Characteristics:

  • Source code is typically not available
  • Users cannot modify the software
  • Redistribution is usually prohibited
  • Often requires payment or subscription
  • May have usage restrictions (number of installations, geographic limits, etc.)

Common models:

  • Perpetual licenses: One-time purchase for indefinite use
  • Subscription licenses: Recurring payment for continued access (SaaS)
  • Per-seat licenses: License fee based on number of users
  • Enterprise licenses: Organization-wide usage rights

2. Open Source Licenses

Open source licenses grant users freedom to use, study, modify, and distribute software. They make source code publicly available and encourage collaborative development. However, they vary significantly in the conditions they impose.

Open source licenses are generally divided into two main philosophies:

A. Permissive Licenses

Permissive licenses place minimal restrictions on how software can be used and redistributed. You can modify the code, incorporate it into proprietary products, and distribute it under different terms.

B. Copyleft (Restrictive) Licenses

Copyleft licenses require that derivative works maintain the same open license. They ensure that software remains free and open, preventing proprietary appropriation.

3. Public Domain / No License

Some software is placed in the public domain or released with dedications that waive all rights. This grants maximum freedom but provides no legal protections for the original author.

Popular Open Source Licenses: A Detailed Comparison

Let’s examine the most commonly used open source licenses that computer engineers encounter.

MIT License

Type: Permissive

Philosophy: The MIT License is one of the most permissive and simplest open source licenses. It essentially says: “Do whatever you want with this code, just keep the copyright notice and don’t blame me if something goes wrong.”

Key Features:

  • Very short and easy to understand
  • Allows commercial use
  • Allows modification and distribution
  • Can be incorporated into proprietary software
  • Only requirement: include the original license and copyright notice
  • No requirement to share modifications
  • Includes liability disclaimer

Best for: Projects where you want maximum adoption and don’t care if others create proprietary derivatives.

Used by: jQuery, Rails, Node.js, React, Angular

Apache License 2.0

Type: Permissive

Philosophy: Similar to MIT but with explicit patent grants and more detailed legal language. It addresses concerns about patent litigation and provides better legal clarity.

Key Features:

  • Allows commercial use and modification
  • Explicit patent license grant (contributors grant patent rights)
  • Patent retaliation clause (if you sue for patent infringement, you lose license rights)
  • Requires preserving copyright notices
  • Requires stating significant changes
  • Can be incorporated into proprietary software
  • More detailed and legally explicit than MIT

Best for: Projects where patent protection is important, or projects that want permissive licensing with better legal clarity.

Used by: Android, Apache web server, TensorFlow, Kubernetes

BSD Licenses (2-Clause and 3-Clause)

Type: Permissive

Philosophy: Very similar to MIT, originating from Berkeley Software Distribution. The 2-clause BSD is nearly identical to MIT, while the 3-clause version adds a prohibition on using the project’s name for endorsement.

Key Features (3-Clause BSD):

  • Allows commercial use and modification
  • Requires copyright notice in redistributions
  • Prohibits using names of contributors for endorsement without permission
  • No requirement to share source code of modifications
  • Can be incorporated into proprietary software

Best for: Projects wanting permissive licensing with explicit prohibition on name misuse.

Used by: FreeBSD, NetBSD, many academic projects

GNU General Public License (GPL) v3

Type: Strong Copyleft

Philosophy: Software freedom must be preserved. If you use GPL code, your entire project must be open source under GPL. This ensures that software remains free and prevents proprietary appropriation.

Key Features:

  • Allows use, modification, and distribution
  • Requires sharing source code of distributed modifications
  • Requires same license for derivative works (viral/copyleft)
  • Cannot be incorporated into proprietary software
  • Includes patent license grant
  • Prohibits “tivoization” (v3)
  • Compatible with other GPL-licensed code

Best for: Projects where you want to ensure all improvements remain open source and prevent proprietary forks.

Used by: Linux kernel (v2), Git, GIMP, WordPress (v2)

Important Warning for Computer Engineers: Using GPL-licensed libraries in your project typically means your entire project must be GPL-licensed. This is the most significant consideration when choosing whether to use GPL code.

GNU Lesser General Public License (LGPL)

Type: Weak Copyleft

Philosophy: A compromise between GPL and permissive licenses. The library itself must remain open, but applications that use it can be proprietary.

Key Features:

  • Allows linking to proprietary code
  • Modifications to the library itself must be LGPL
  • Applications using the library can be proprietary
  • Users must be able to replace the LGPL library

Best for: Libraries you want to be widely adopted, including in proprietary software, while keeping the library itself open.

Used by: Qt (dual-licensed), GNU C Library

Mozilla Public License 2.0 (MPL)

Type: Weak Copyleft (File-level)

Philosophy: A middle ground that operates at the file level. Modified MPL files must remain MPL, but you can combine them with proprietary files.

Key Features:

  • File-level copyleft (not project-level like GPL)
  • Can combine MPL files with proprietary files
  • Modifications to MPL files must be shared
  • Includes patent grant
  • Compatible with GPL and LGPL

Best for: Projects wanting some copyleft protection while allowing proprietary integration.

Used by: Firefox, Thunderbird, LibreOffice

Quick Comparison Table

LicenseTypeCommercial UseModifyDistributePrivate UseMust Share ChangesCan Make Proprietary
MITPermissive
Apache 2.0Permissive
BSD 3-ClausePermissive
GPL v3Strong Copyleft
LGPLWeak Copyleft✓ (library only)✓ (app, not library)
MPL 2.0Weak Copyleft✓ (modified files)✓ (new files)

How to Choose the Right License for Your Project

Choosing a license is a strategic decision that depends on your goals, audience, and business model. Here’s a practical framework for making this decision:

Decision Tree

1. Is this a commercial/proprietary project?

  • Yes: Use a proprietary license
  • No: Continue to question 2

2. Do you want to share your code openly?

  • No: Use a proprietary license or no license
  • Yes: Continue to question 3

3. Do you want to prevent others from making proprietary versions?

  • Yes: Use GPL (strong copyleft)
  • No, but I want modifications to remain open: Use LGPL or MPL (weak copyleft)
  • No, I don’t care: Continue to question 4

4. Do you need explicit patent protection?

  • Yes: Use Apache 2.0
  • No: Use MIT or BSD

Considerations by Project Type

For Libraries and Frameworks:

  • Want maximum adoption? → MIT or Apache 2.0
  • Want library improvements to remain open? → LGPL or MPL
  • Want to prevent proprietary forks? → GPL

For Applications:

  • Want community contributions while preventing proprietary competition? → GPL
  • Want flexibility for future commercialization? → MIT or Apache 2.0
  • Want to build a business around it? → Consider dual licensing

For Academic/Research Projects:

  • Want maximum citations and adoption? → MIT or BSD
  • Want to ensure improvements are shared? → GPL

License Compatibility

One of the most complex aspects of software licensing is ensuring compatibility when combining code from multiple sources. Not all licenses can be combined legally.

Key Compatibility Rules

  1. Permissive licenses are generally compatible with everything: MIT, BSD, and Apache code can typically be incorporated into GPL, proprietary, or other projects
  2. GPL is one-way compatible: You can use permissive-licensed code in GPL projects, but you cannot use GPL code in permissive or proprietary projects
  3. Different versions of GPL may not be compatible: GPLv2 and GPLv3 are not always compatible unless the license says “or later”
  4. Some licenses are incompatible with GPL: Apache 1.x and some other licenses cannot be combined with GPL

Practical Compliance Tips

  • Track dependencies: Maintain a list of all third-party code and their licenses
  • Check before adding: Verify license compatibility before incorporating third-party code
  • Use tools: Employ automated tools to scan for license compliance
  • Preserve notices: Always include required copyright and license notices
  • Document everything: Keep records of what licenses apply to what code

Software Licensing in the Philippine Context

While international open source licenses are generally valid in the Philippines, there are specific Philippine legal requirements that computer engineers should be aware of.

Relevant Philippine Laws

  1. Intellectual Property Code (RA 8293): Provides copyright protection for software and establishes the legal framework for licensing
  2. E-Commerce Act (RA 8792): Provides legal framework for electronic contracts, including software license agreements
  3. Data Privacy Act (RA 10173): Affects software that processes personal data, regardless of license type

Technology Transfer Arrangements

For commercial software licensing in the Philippines, technology transfer arrangements must comply with the Intellectual Property Code. This includes:

  • Licensing of computer software (except mass-market software)
  • Transfer of systematic knowledge for product manufacture or service delivery
  • Management contracts involving technology

These arrangements must avoid prohibited clauses such as restrictions on research, unreasonable pricing, or mandatory purchase clauses that the IP Code deems unenforceable.

Best Practices for Computer Engineers

When Creating Software

  1. Always include a LICENSE file: Make your licensing explicit—don’t leave it ambiguous
  2. Include copyright notices: Add copyright notices to your source files
  3. Choose early: Decide on a license before releasing code publicly
  4. Be consistent: Use the same license throughout your project unless you have good reason not to
  5. Consider your dependencies: Ensure your chosen license is compatible with all dependencies

When Using Third-Party Code

  1. Read the license: Always check what license applies before using code
  2. Understand obligations: Know what the license requires you to do
  3. Comply fully: Follow all license requirements (attribution, sharing changes, etc.)
  4. Track dependencies: Maintain a list of all third-party components and their licenses
  5. When in doubt, ask: Contact the copyright holder if licensing is unclear

In Employment

  1. Review your contract: Understand what your employer claims ownership of
  2. Clarify personal projects: Get written agreement about ownership of side projects
  3. Respect company IP: Don’t reuse company code in personal projects without permission
  4. Document contributions: Keep records of what you create and when

Frequently Asked Questions

1. Can I change my project’s license later?

Yes, but it’s complicated. If you own all the copyright (no contributors or you have agreements from all contributors), you can change the license. However, code already released under the old license remains under that license. For projects with many contributors, relicensing requires obtaining permission from all copyright holders.

2. What if I find code on GitHub without a license?

Code without an explicit license is protected by copyright with all rights reserved. You cannot legally use it without obtaining permission from the copyright holder. Contact the author to request they add a license or grant you permission.

3. Can I use GPL code in my proprietary product?

Generally, no. GPL requires that derivative works also be GPL-licensed and open source. If you incorporate GPL code into your product, your entire product typically must be GPL. Consider using LGPL libraries or seeking dual licensing.

4. Do I need to register my software license in the Philippines?

No, copyright (and thus licensing rights) is automatic. However, registration with the National Library provides additional legal benefits, including presumption of ownership.

5. What’s dual licensing?

Dual licensing offers software under two licenses simultaneously—typically GPL for open source use and a commercial license for proprietary use. This business model allows companies to monetize open source software while keeping it free for the community.

Conclusion

Software licensing is a critical aspect of computer engineering practice that affects how you create, share, and commercialize software. Understanding the landscape of licenses—from permissive MIT and Apache to copyleft GPL—empowers you to make informed decisions that align with your goals.

Remember these key principles:

  • Always use an explicit license for your code
  • Always check licenses before using third-party code
  • Understand the implications of different licenses for your business model
  • Ensure license compatibility when combining code
  • Comply fully with all license requirements
  • When in doubt, consult with a legal professional

As computer engineers in the Philippines, we participate in a global software ecosystem governed by both international licensing norms and local legal requirements. By understanding and properly applying software licenses, we protect our work, respect others’ rights, build sustainable businesses, and contribute responsibly to the technological commons.

The choice of license is not just a legal formality—it’s a strategic decision that reflects your values, defines your relationship with users and contributors, and shapes the future of your project. Choose wisely, comply diligently, and help build a thriving software ecosystem in the Philippines and beyond.

References

  1. Endor Labs. (n.d.). Open Source Licensing Simplified: A Comparative Overview of Popular Licenses. Retrieved from https://www.endorlabs.com/learn/open-source-licensing-simplified-a-comparative-overview-of-popular-licenses
  2. Wikipedia. (2024). Comparison of free and open-source software licenses. Retrieved from https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses
  3. Exygy. (n.d.). Which License Should I Use? MIT vs. Apache vs. GPL. Retrieved from https://www.exygy.com/blog/which-license-should-i-use-mit-vs-apache-vs-gpl
  4. Morin, A., Urban, J., & Sliz, P. (2012). A Quick Guide to Software Licensing for the Scientist-Programmer. PLOS Computational Biology. Retrieved from https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002598
  5. OSS Software. (n.d.). Open Source Licenses Explained: A Comparison. Retrieved from https://osssoftware.org/blog/open-source-licenses-explained-a-comparison/
  6. BCCS Law. (n.d.). Technology Transfer, Licensing and Franchising. Retrieved from https://bccslaw.com/technology-transfer-and-licensing/
  7. NDV Law. (n.d.). Licensing Agreements in the Philippines. Retrieved from https://ndvlaw.com/licensing-agreements-in-the-philippines/
  8. Teldat. (n.d.). Open source software licences differences. GPL, BSD, MIT. Retrieved from https://www.teldat.com/blog/open-source-software-licenses-coyleft-gpl-bsd/
  9. LicenseSpring. (n.d.). How to License Your Software [GUIDE]. Retrieved from https://licensespring.com/blog/guide/how-to-license-your-software

Disclaimer: This article is for educational purposes only and does not constitute legal advice. Software licensing is a complex legal area. For specific licensing questions or concerns, consult with a qualified intellectual property attorney. Laws and license interpretations may evolve; always verify current requirements.

Article Length: Approximately 4,100 words

Target Audience: Computer Engineering students and professionals in the Philippines

Category: CpE Laws and Professional Practice

Tags: Software Licensing, Open Source, GPL, MIT License, Apache License, BSD License, Copyright, Licensing Guide, Computer Engineering Law, Philippines

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *