First published on Skala Legal Skills
Legal Disclaimer
This skill is provided for informational and educational purposes only and does not constitute legal advice. The analysis and information provided should not be relied upon as a substitute for consultation with a qualified attorney. No attorney-client relationship is created by using this skill. Open source licensing involves complex legal considerations that may vary by jurisdiction. Laws and regulations vary by jurisdiction and change over time. Always consult with a licensed attorney in your jurisdiction for advice on specific legal matters. The creators and publishers of this skill disclaim any liability for actions taken or not taken based on the information provided.
Open Source License Skill
Comprehensive guidance for open source license selection, compliance review, and documentation drafting.
Capabilities
1. License Selection
Help users choose the right license based on their goals using the decision tree.
2. License Comparison
Explain differences between licenses, compatibility, and trade-offs.
3. Compliance Review
Analyze projects for license compliance issues and compatibility conflicts.
4. License Drafting
Generate LICENSE files, NOTICE files, and source file headers using canonical texts.
Workflow
For License Selection Questions
- Read
references/selection/decision-tree.md
- Ask clarifying questions based on the decision tree:
- Primary goal (adoption vs keeping code open)?
- Patent protection needed?
- Library or application?
- SaaS/network use?
- Provide recommendation with reasoning
- Reference notable projects using recommended license
- Offer to generate LICENSE file if desired
For License Comparison Questions
- Read
references/selection/comparison-matrix.md
- Compare requested licenses across key dimensions:
- Permissions (commercial use, distribution, modification)
- Conditions (attribution, copyleft, source disclosure)
- Limitations (liability, warranty)
- Highlight key differences
- Provide examples of projects using each license
For Compliance Review
- Read
references/compliance/compatibility.md and references/compliance/checklist.md
- Identify all licenses in the project
- Check compatibility between licenses
- Flag any copyleft licenses that may affect distribution
- Note any missing attribution or compliance gaps
- Provide actionable remediation steps
- Reference
references/compliance/common-issues.md for context
For License/NOTICE File Generation
- Read appropriate template from
references/templates/
- CRITICAL: Always use canonical license text exactly as provided
- Never modify license terms or generate license text from scratch
- Only fill in placeholders:
[YEAR], [FULLNAME], [PROJECT NAME]
- For NOTICE files, aggregate third-party attributions properly
- For headers, use language-appropriate comment syntax
Reference Files
| Topic |
File |
| Permissive licenses (MIT, Apache, BSD, ISC) |
references/licenses/permissive.md |
| Copyleft licenses (GPL, LGPL, AGPL, MPL) |
references/licenses/copyleft.md |
| Other licenses (CC, Boost, zlib) |
references/licenses/specialty.md |
| License comparison table |
references/selection/comparison-matrix.md |
| License selection guide |
references/selection/decision-tree.md |
| License compatibility rules |
references/compliance/compatibility.md |
| Compliance checklist |
references/compliance/checklist.md |
| Common compliance mistakes |
references/compliance/common-issues.md |
| LICENSE file templates |
references/templates/license-files.md |
| NOTICE file templates |
references/templates/notice-files.md |
| Source header templates |
references/templates/source-headers.md |
Key Rules
Never Generate License Text
Always use canonical license text from templates. License texts are legal documents that must be exact. Do not:
- Paraphrase license terms
- Generate license text from memory
- Modify standard license language
- Create "custom" licenses
Include Project Examples
When discussing licenses, mention notable projects that use them:
- MIT: React, Node.js, jQuery, Rails, Angular
- Apache-2.0: Kubernetes, TensorFlow, Android, Spark
- GPL-3.0: WordPress, GIMP, Bash
- AGPL-3.0: Nextcloud, Mastodon, Grafana
- BSD-3-Clause: Django, Flask, numpy
- MPL-2.0: Firefox, Thunderbird
Flag Complex Scenarios
Recommend legal counsel for:
- Dual licensing strategies
- License changes mid-project
- Commercial projects with copyleft dependencies
- AGPL in SaaS environments
- Multi-jurisdictional distribution
- Patent-sensitive situations
Quick Answers
"What license should I use?"
→ Follow decision tree; default to MIT for simplicity or Apache-2.0 for patent protection.
"Can I use GPL code in my proprietary app?"
→ Generally no, unless through LGPL dynamic linking or separate processes.
"What's the difference between MIT and Apache-2.0?"
→ Apache-2.0 includes explicit patent grant and retaliation clause; MIT is simpler but no patent protection.
"Is Apache-2.0 compatible with GPL?"
→ Apache-2.0 is compatible with GPL-3.0, but NOT with GPL-2.0.
"Do I need to open source my code if I use AGPL?"
→ Only if you modify the AGPL code AND provide it as a network service. Using unmodified AGPL tools internally doesn't trigger copyleft.
Output Format
When generating LICENSE files:
- Confirm the license choice
- Ask for copyright holder name and year
- Output the complete canonical license text
- Remind user to place it in repository root as
LICENSE or LICENSE.txt
When reviewing compliance:
- List all identified licenses
- Show compatibility analysis
- Flag any issues with severity (critical/warning/info)
- Provide specific remediation steps
1---2name: open-source-license3description: Open Source License guidance, selection, compliance review, and drafting. Use this skill when users ask about choosing open source licenses, checking license compatibility, reviewing projects for OSS compliance, generating LICENSE/NOTICE files, or understanding specific license terms. Triggers include questions about MIT, Apache, GPL, BSD, LGPL, AGPL, copyleft, permissive licenses, license compatibility, SPDX identifiers, or any OSS licensing topic.4license: Apache-2.05---67*First published on [Skala Legal Skills](https://www.skala.io/legal-skills)*89## Legal Disclaimer1011This skill is provided for informational and educational purposes only and does not constitute legal advice. The analysis and information provided should not be relied upon as a substitute for consultation with a qualified attorney. No attorney-client relationship is created by using this skill. Open source licensing involves complex legal considerations that may vary by jurisdiction. Laws and regulations vary by jurisdiction and change over time. Always consult with a licensed attorney in your jurisdiction for advice on specific legal matters. The creators and publishers of this skill disclaim any liability for actions taken or not taken based on the information provided.1213---1415# Open Source License Skill1617Comprehensive guidance for open source license selection, compliance review, and documentation drafting.1819## Capabilities2021### 1. License Selection22Help users choose the right license based on their goals using the decision tree.2324### 2. License Comparison25Explain differences between licenses, compatibility, and trade-offs.2627### 3. Compliance Review28Analyze projects for license compliance issues and compatibility conflicts.2930### 4. License Drafting31Generate LICENSE files, NOTICE files, and source file headers using canonical texts.3233## Workflow3435### For License Selection Questions36371. Read `references/selection/decision-tree.md`382. Ask clarifying questions based on the decision tree:39 - Primary goal (adoption vs keeping code open)?40 - Patent protection needed?41 - Library or application?42 - SaaS/network use?433. Provide recommendation with reasoning444. Reference notable projects using recommended license455. Offer to generate LICENSE file if desired4647### For License Comparison Questions48491. Read `references/selection/comparison-matrix.md`502. Compare requested licenses across key dimensions:51 - Permissions (commercial use, distribution, modification)52 - Conditions (attribution, copyleft, source disclosure)53 - Limitations (liability, warranty)543. Highlight key differences554. Provide examples of projects using each license5657### For Compliance Review58591. Read `references/compliance/compatibility.md` and `references/compliance/checklist.md`602. Identify all licenses in the project613. Check compatibility between licenses624. Flag any copyleft licenses that may affect distribution635. Note any missing attribution or compliance gaps646. Provide actionable remediation steps657. Reference `references/compliance/common-issues.md` for context6667### For License/NOTICE File Generation68691. Read appropriate template from `references/templates/`702. **CRITICAL: Always use canonical license text exactly as provided**713. Never modify license terms or generate license text from scratch724. Only fill in placeholders: `[YEAR]`, `[FULLNAME]`, `[PROJECT NAME]`735. For NOTICE files, aggregate third-party attributions properly746. For headers, use language-appropriate comment syntax7576## Reference Files7778| Topic | File |79|-------|------|80| Permissive licenses (MIT, Apache, BSD, ISC) | `references/licenses/permissive.md` |81| Copyleft licenses (GPL, LGPL, AGPL, MPL) | `references/licenses/copyleft.md` |82| Other licenses (CC, Boost, zlib) | `references/licenses/specialty.md` |83| License comparison table | `references/selection/comparison-matrix.md` |84| License selection guide | `references/selection/decision-tree.md` |85| License compatibility rules | `references/compliance/compatibility.md` |86| Compliance checklist | `references/compliance/checklist.md` |87| Common compliance mistakes | `references/compliance/common-issues.md` |88| LICENSE file templates | `references/templates/license-files.md` |89| NOTICE file templates | `references/templates/notice-files.md` |90| Source header templates | `references/templates/source-headers.md` |9192## Key Rules9394### Never Generate License Text9596Always use canonical license text from templates. License texts are legal documents that must be exact. Do not:97- Paraphrase license terms98- Generate license text from memory99- Modify standard license language100- Create "custom" licenses101102### Include Project Examples103104When discussing licenses, mention notable projects that use them:105- **MIT:** React, Node.js, jQuery, Rails, Angular106- **Apache-2.0:** Kubernetes, TensorFlow, Android, Spark107- **GPL-3.0:** WordPress, GIMP, Bash108- **AGPL-3.0:** Nextcloud, Mastodon, Grafana109- **BSD-3-Clause:** Django, Flask, numpy110- **MPL-2.0:** Firefox, Thunderbird111112### Flag Complex Scenarios113114Recommend legal counsel for:115- Dual licensing strategies116- License changes mid-project117- Commercial projects with copyleft dependencies118- AGPL in SaaS environments119- Multi-jurisdictional distribution120- Patent-sensitive situations121122## Quick Answers123124### "What license should I use?"125→ Follow decision tree; default to MIT for simplicity or Apache-2.0 for patent protection.126127### "Can I use GPL code in my proprietary app?"128→ Generally no, unless through LGPL dynamic linking or separate processes.129130### "What's the difference between MIT and Apache-2.0?"131→ Apache-2.0 includes explicit patent grant and retaliation clause; MIT is simpler but no patent protection.132133### "Is Apache-2.0 compatible with GPL?"134→ Apache-2.0 is compatible with GPL-3.0, but NOT with GPL-2.0.135136### "Do I need to open source my code if I use AGPL?"137→ Only if you modify the AGPL code AND provide it as a network service. Using unmodified AGPL tools internally doesn't trigger copyleft.138139## Output Format140141When generating LICENSE files:1421. Confirm the license choice1432. Ask for copyright holder name and year1443. Output the complete canonical license text1454. Remind user to place it in repository root as `LICENSE` or `LICENSE.txt`146147When reviewing compliance:1481. List all identified licenses1492. Show compatibility analysis1503. Flag any issues with severity (critical/warning/info)1514. Provide specific remediation steps