chore: add license to project
This commit is contained in:
5
.changeset/slick-women-relate.md
Normal file
5
.changeset/slick-women-relate.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"task-master-ai": patch
|
||||
---
|
||||
|
||||
Add license to repo
|
||||
200
APACHE-LICENSE
Normal file
200
APACHE-LICENSE
Normal file
@@ -0,0 +1,200 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
0. Additional Restrictions for Task Master AI
|
||||
This Apache License 2.0 applies to all uses EXCEPT those that directly compete
|
||||
with Task Master AI as defined in the LICENSE.md file. You MAY use this software
|
||||
commercially to create and sell your own products and services, but you may NOT:
|
||||
|
||||
- Create products that directly compete with Task Master AI
|
||||
- Sell Task Master AI itself as a service
|
||||
- Create hosted/managed versions of Task Master AI
|
||||
These restricted uses are governed by the Business Source License 1.1 (BSL 1.1).
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Copyright 2025 Eyal Toledano and Ralph Khreish
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
91
BSL-LICENSE
Normal file
91
BSL-LICENSE
Normal file
@@ -0,0 +1,91 @@
|
||||
Business Source License 1.1
|
||||
|
||||
Parameters
|
||||
|
||||
Licensor: Eyal Toledano and Ralph Khreish
|
||||
Licensed Work: Task Master AI
|
||||
The Licensed Work is (c) 2025 Eyal Toledano and Ralph Khreish
|
||||
Additional Use Grant: You may use Task Master AI to create and commercialize your own projects and products, as long as they do not directly compete with Task Master AI itself or attempt to resell Task Master AI's functionality as a service.
|
||||
|
||||
Change Date: 2025-03-30
|
||||
Change License: None
|
||||
|
||||
Notice
|
||||
|
||||
The Business Source License (this document, or the "License") is not an Open
|
||||
Source license. However, the Licensed Work will eventually be made available
|
||||
under an Open Source License, as stated in this License.
|
||||
|
||||
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||
"Business Source License" is a trademark of MariaDB Corporation Ab.
|
||||
|
||||
---
|
||||
|
||||
Business Source License 1.1
|
||||
|
||||
Terms
|
||||
|
||||
The Licensor hereby grants you the right to copy, modify, create derivative
|
||||
works, redistribute, and make non-production use of the Licensed Work. The
|
||||
Licensor may make an Additional Use Grant, above, permitting limited
|
||||
production use.
|
||||
|
||||
Effective on the Change Date, or the fourth anniversary of the first publicly
|
||||
available distribution of a specific version of the Licensed Work under this
|
||||
License, whichever comes first, the Licensor hereby grants you rights under
|
||||
the terms of the Change License, and the rights granted in the paragraph
|
||||
above terminate.
|
||||
|
||||
If your use of the Licensed Work does not comply with the requirements
|
||||
currently in effect as described in this License, you must purchase a
|
||||
commercial license from the Licensor, its affiliated entities, or authorized
|
||||
resellers, or you must refrain from using the Licensed Work.
|
||||
|
||||
All copies of the original and modified Licensed Work, and derivative works
|
||||
of the Licensed Work, are subject to this License. This License applies
|
||||
separately for each version of the Licensed Work and the Change Date may
|
||||
vary for each version.
|
||||
|
||||
You must conspicuously display this License on each original or modified copy
|
||||
of the Licensed Work. If you receive the Licensed Work in original or
|
||||
modified form from a third party, the terms and conditions set forth in this
|
||||
License apply to your use of that work.
|
||||
|
||||
Any use of the Licensed Work in violation of this License will automatically
|
||||
terminate your rights under this License for the current and all other
|
||||
versions of the Licensed Work.
|
||||
|
||||
This License does not grant you any right in any trademark or logo of
|
||||
Licensor or its affiliates (provided that you may use a trademark or logo of
|
||||
Licensor as expressly required by this License).
|
||||
|
||||
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
||||
AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
||||
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
||||
TITLE.
|
||||
|
||||
MariaDB hereby grants you permission to use this License's text to license
|
||||
your works, and to refer to it using the trademark "Business Source License",
|
||||
as long as you comply with the Covenants of Licensor below.
|
||||
|
||||
Covenants of Licensor
|
||||
|
||||
In consideration of the right to use this License's text and the "Business
|
||||
Source License" name and trademark, Licensor covenants to MariaDB, and to all
|
||||
other recipients of the licensed work to be provided by Licensor:
|
||||
|
||||
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
||||
or a license that is compatible with GPL Version 2.0 or a later version,
|
||||
where "compatible" means that software provided under the Change License can
|
||||
be included in a program with software provided under GPL Version 2.0 or a
|
||||
later version. Licensor may specify additional Change Licenses without
|
||||
limitation.
|
||||
|
||||
2. To either: (a) specify an additional grant of rights to use that does not
|
||||
impose any additional restriction on the right granted in this License, as
|
||||
the Additional Use Grant; or (b) insert the text "None".
|
||||
|
||||
3. To specify a Change Date.
|
||||
|
||||
4. Not to modify this License in any other way.
|
||||
21
LICENSE
21
LICENSE
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Eyal Toledano
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
90
LICENSE.md
Normal file
90
LICENSE.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# Dual License
|
||||
|
||||
This project is licensed under two separate licenses:
|
||||
|
||||
1. [Business Source License 1.1](#business-source-license-11) (BSL 1.1) for commercial use of Task Master itself
|
||||
2. [Apache License 2.0](#apache-license-20) for all other uses
|
||||
|
||||
## Business Source License 1.1
|
||||
|
||||
Terms: https://mariadb.com/bsl11/
|
||||
|
||||
Licensed Work: Task Master AI
|
||||
Additional Use Grant: You may use Task Master AI to create and commercialize your own projects and products.
|
||||
|
||||
Change Date: 2025-03-30
|
||||
Change License: None
|
||||
|
||||
The Licensed Work is subject to the Business Source License 1.1. If you are interested in using the Licensed Work in a way that competes directly with Task Master, please contact the licensors.
|
||||
|
||||
### Licensor
|
||||
|
||||
- Eyal Toledano (GitHub: @eyaltoledano)
|
||||
- Ralph (GitHub: @Crunchyman-ralph)
|
||||
|
||||
### Commercial Use Restrictions
|
||||
|
||||
This license explicitly restricts certain commercial uses of Task Master AI to the Licensors listed above. Restricted commercial uses include:
|
||||
|
||||
1. Creating commercial products or services that directly compete with Task Master AI
|
||||
2. Selling Task Master AI itself as a service
|
||||
3. Offering Task Master AI's functionality as a commercial managed service
|
||||
4. Reselling or redistributing Task Master AI for a fee
|
||||
|
||||
### Explicitly Permitted Uses
|
||||
|
||||
The following uses are explicitly allowed under this license:
|
||||
|
||||
1. Using Task Master AI to create and commercialize your own projects
|
||||
2. Using Task Master AI in commercial environments for internal development
|
||||
3. Building and selling products or services that were created using Task Master AI
|
||||
4. Using Task Master AI for commercial development as long as you're not selling Task Master AI itself
|
||||
|
||||
### Additional Terms
|
||||
|
||||
1. The right to commercialize Task Master AI itself is exclusively reserved for the Licensors
|
||||
2. No party may create commercial products that directly compete with Task Master AI without explicit written permission
|
||||
3. Forks of this repository are subject to the same restrictions regarding direct competition
|
||||
4. Contributors agree that their contributions will be subject to this same dual licensing structure
|
||||
|
||||
## Apache License 2.0
|
||||
|
||||
For all uses other than those restricted above. See [APACHE-LICENSE](./APACHE-LICENSE) for the full license text.
|
||||
|
||||
### Permitted Use Definition
|
||||
|
||||
You may use Task Master AI for any purpose, including commercial purposes, as long as you are not:
|
||||
|
||||
1. Creating a direct competitor to Task Master AI
|
||||
2. Selling Task Master AI itself as a service
|
||||
3. Redistributing Task Master AI for a fee
|
||||
|
||||
### Requirements for Use
|
||||
|
||||
1. You must include appropriate copyright notices
|
||||
2. You must state significant changes made to the software
|
||||
3. You must preserve all license notices
|
||||
|
||||
## Questions and Commercial Licensing
|
||||
|
||||
For questions about licensing or to inquire about commercial use that may compete with Task Master, please contact:
|
||||
|
||||
- Eyal Toledano (GitHub: @eyaltoledano)
|
||||
- Ralph (GitHub: @Crunchyman-ralph)
|
||||
|
||||
## Examples
|
||||
|
||||
### ✅ Allowed Uses
|
||||
|
||||
- Using Task Master to create a commercial SaaS product
|
||||
- Using Task Master in your company for development
|
||||
- Creating and selling products that were built using Task Master
|
||||
- Using Task Master to generate code for commercial projects
|
||||
- Offering consulting services where you use Task Master
|
||||
|
||||
### ❌ Restricted Uses
|
||||
|
||||
- Creating a competing AI task management tool
|
||||
- Selling access to Task Master as a service
|
||||
- Creating a hosted version of Task Master
|
||||
- Reselling Task Master's functionality
|
||||
100
LICENSING.md
Normal file
100
LICENSING.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# Task Master Licensing
|
||||
|
||||
Task Master is released under a dual license structure to balance open source accessibility with commercial interests.
|
||||
|
||||
## License Overview
|
||||
|
||||
Task Master is available under two licenses:
|
||||
|
||||
1. **Business Source License 1.1 (BSL 1.1)** - For commercial use of Task Master itself
|
||||
2. **Apache License 2.0** - For all other uses
|
||||
|
||||
## What You Can Do
|
||||
|
||||
✅ **Allowed Activities**:
|
||||
|
||||
- Use Task Master to create and commercialize your own projects
|
||||
- Modify Task Master for your own use
|
||||
- Contribute to Task Master's development
|
||||
- Share and distribute Task Master under the terms of the Apache License 2.0 for non-commercial use
|
||||
- Use Task Master in your personal or organization's development workflow
|
||||
|
||||
## What You Cannot Do
|
||||
|
||||
❌ **Restricted Activities**:
|
||||
|
||||
- Create competing products based on Task Master
|
||||
- Sell Task Master itself as a service without explicit permission
|
||||
- Remove or modify the license headers in the source files
|
||||
- Use the Task Master trademark or branding without permission
|
||||
|
||||
## Commercial Use
|
||||
|
||||
The BSL 1.1 license applies when you want to:
|
||||
|
||||
1. Create a competing product to Task Master
|
||||
2. Sell Task Master itself as a service
|
||||
3. Use Task Master's code in a way that competes with its core functionality
|
||||
|
||||
To obtain commercial use rights:
|
||||
|
||||
1. Contact the copyright holders (Eyal Toledano and Ralph Khreish)
|
||||
2. Negotiate appropriate terms for commercial use
|
||||
3. Obtain written permission for your specific use case
|
||||
|
||||
## Non-Commercial Use
|
||||
|
||||
The Apache License 2.0 applies to all other uses, including:
|
||||
|
||||
1. Personal projects
|
||||
2. Open source projects
|
||||
3. Internal use within organizations
|
||||
4. Educational purposes
|
||||
5. Research and development
|
||||
|
||||
## License Texts
|
||||
|
||||
### Business Source License 1.1
|
||||
|
||||
The full text of the BSL 1.1 license can be found in the [BSL-LICENSE](BSL-LICENSE) file.
|
||||
|
||||
### Apache License 2.0
|
||||
|
||||
The full text of the Apache 2.0 license can be found in the [APACHE-LICENSE](APACHE-LICENSE) file.
|
||||
|
||||
## Frequently Asked Questions
|
||||
|
||||
### Q: Can I use Task Master in my company's development process?
|
||||
|
||||
**A**: Yes, you can use Task Master internally in your organization for development purposes. This falls under the Apache License 2.0.
|
||||
|
||||
### Q: Can I create and sell a product that was built using Task Master?
|
||||
|
||||
**A**: Yes, you can create and commercialize your own projects that were built using Task Master. The restriction only applies to selling Task Master itself or creating competing products.
|
||||
|
||||
### Q: Can I contribute improvements back to Task Master?
|
||||
|
||||
**A**: Yes, contributions are welcome! By contributing, you agree that your contributions will be licensed under the same dual license structure.
|
||||
|
||||
### Q: What constitutes a "competing product"?
|
||||
|
||||
**A**: A competing product would be any software that provides similar core functionality to Task Master, specifically:
|
||||
|
||||
- AI-driven task management for development
|
||||
- Integration with Cursor for development workflows
|
||||
- Task parsing and management features similar to Task Master
|
||||
|
||||
### Q: Do I need a commercial license to use Task Master in my startup?
|
||||
|
||||
**A**: No, you only need a commercial license if you plan to create a competing product or sell Task Master itself as a service. Using Task Master to develop your startup's products falls under the Apache License 2.0.
|
||||
|
||||
## Copyright
|
||||
|
||||
Copyright (c) 2025 Eyal Toledano and Ralph Khreish. All rights reserved.
|
||||
|
||||
## Contact
|
||||
|
||||
For licensing inquiries or to obtain commercial use permission, please contact:
|
||||
|
||||
- Eyal Toledano: [https://x.com/eyaltoledano](https://x.com/eyaltoledano)
|
||||
- Ralph Khreish: [https://x.com/RalphEcom](https://x.com/RalphEcom)
|
||||
11
README.md
11
README.md
@@ -4,6 +4,15 @@
|
||||
|
||||
A task management system for AI-driven development with Claude, designed to work seamlessly with Cursor AI.
|
||||
|
||||
## Licensing
|
||||
|
||||
Task Master is available under a dual license:
|
||||
|
||||
- **Business Source License 1.1 (BSL 1.1)** for commercial use of Task Master itself
|
||||
- **Apache License 2.0** for all other uses
|
||||
|
||||
You can freely use Task Master to create and commercialize your own projects, but you cannot create competing products or sell Task Master itself as a service without explicit permission. See [LICENSING.md](LICENSING.md) for detailed terms and FAQs.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Node.js 14.0.0 or higher
|
||||
@@ -385,7 +394,7 @@ task-master update-subtask --id=5.2 --prompt="Add rate limiting of 100 requests
|
||||
task-master update-subtask --id=<parentId.subtaskId> --prompt="<prompt>" --research
|
||||
```
|
||||
|
||||
Unlike the `update-task` command which replaces task information, the `update-subtask` command *appends* new information to the existing subtask details, marking it with a timestamp. This is useful for iteratively enhancing subtasks while preserving the original content.
|
||||
Unlike the `update-task` command which replaces task information, the `update-subtask` command _appends_ new information to the existing subtask details, marking it with a timestamp. This is useful for iteratively enhancing subtasks while preserving the original content.
|
||||
|
||||
### Generate Task Files
|
||||
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Task Master AI
|
||||
* https://github.com/eyaltoledano/claude-task-master
|
||||
*
|
||||
* Copyright (c) 2025 Eyal Toledano and Ralph Khreish
|
||||
*
|
||||
* This source code is licensed under a dual license:
|
||||
* - Business Source License 1.1 (BSL 1.1) for commercial use of Task Master itself
|
||||
* - Apache License 2.0 for all other uses
|
||||
*
|
||||
* See LICENSE.md for details.
|
||||
*
|
||||
* You may use this software to create and commercialize your own projects,
|
||||
* but you may not create competing products or sell Task Master itself as a service
|
||||
* without explicit permission from the copyright holders.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Claude Task Master CLI
|
||||
* Main entry point for globally installed package
|
||||
|
||||
17
index.js
17
index.js
@@ -1,5 +1,22 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Task Master AI
|
||||
* https://github.com/eyaltoledano/claude-task-master
|
||||
*
|
||||
* Copyright (c) 2025 Eyal Toledano and Ralph Khreish
|
||||
*
|
||||
* This source code is licensed under a dual license:
|
||||
* - Business Source License 1.1 (BSL 1.1) for commercial use of Task Master itself
|
||||
* - Apache License 2.0 for all other uses
|
||||
*
|
||||
* See LICENSE.md for details.
|
||||
*
|
||||
* You may use this software to create and commercialize your own projects,
|
||||
* but you may not create competing products or sell Task Master itself as a service
|
||||
* without explicit permission from the copyright holders.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Claude Task Master
|
||||
* A task management system for AI-driven development with Claude
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"context"
|
||||
],
|
||||
"author": "Eyal Toledano",
|
||||
"license": "MIT",
|
||||
"license": "(BSL-1.1 AND Apache-2.0)",
|
||||
"dependencies": {
|
||||
"@anthropic-ai/sdk": "^0.39.0",
|
||||
"@model-context-protocol/sdk": "^1.20.5",
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* Task Master AI
|
||||
* https://github.com/eyaltoledano/claude-task-master
|
||||
*
|
||||
* Copyright (c) 2025 Eyal Toledano and Ralph
|
||||
*
|
||||
* This source code is licensed under a dual license:
|
||||
* - Business Source License 1.1 (BSL 1.1) for commercial use of Task Master itself
|
||||
* - Apache License 2.0 for all other uses
|
||||
*
|
||||
* See LICENSE.md for details.
|
||||
*
|
||||
* You may use this software to create and commercialize your own projects,
|
||||
* but you may not create competing products or sell Task Master itself as a service
|
||||
* without explicit permission from the copyright holders.
|
||||
*/
|
||||
|
||||
console.log('Starting task-master-ai...');
|
||||
|
||||
import fs from 'fs';
|
||||
|
||||
128
tasks/task_039.txt
Normal file
128
tasks/task_039.txt
Normal file
@@ -0,0 +1,128 @@
|
||||
# Task ID: 39
|
||||
# Title: Update Project Licensing to Dual License Structure
|
||||
# Status: done
|
||||
# Dependencies: None
|
||||
# Priority: high
|
||||
# Description: Replace the current MIT license with a dual license structure that protects commercial rights for project owners while allowing non-commercial use under an open source license.
|
||||
# Details:
|
||||
This task requires implementing a comprehensive licensing update across the project:
|
||||
|
||||
1. Remove all instances of the MIT license from the codebase, including any MIT license files, headers in source files, and references in documentation.
|
||||
|
||||
2. Create a dual license structure with:
|
||||
- Business Source License (BSL) 1.1 or similar for commercial use, explicitly stating that commercial rights are exclusively reserved for Ralph & Eyal
|
||||
- Apache 2.0 for non-commercial use, allowing the community to use, modify, and distribute the code for non-commercial purposes
|
||||
|
||||
3. Update the license field in package.json to reflect the dual license structure (e.g., "BSL 1.1 / Apache 2.0")
|
||||
|
||||
4. Add a clear, concise explanation of the licensing terms in the README.md, including:
|
||||
- A summary of what users can and cannot do with the code
|
||||
- Who holds commercial rights
|
||||
- How to obtain commercial use permission if needed
|
||||
- Links to the full license texts
|
||||
|
||||
5. Create a detailed LICENSE.md file that includes:
|
||||
- Full text of both licenses
|
||||
- Clear delineation between commercial and non-commercial use
|
||||
- Specific definitions of what constitutes commercial use
|
||||
- Any additional terms or clarifications specific to this project
|
||||
|
||||
6. Create a CONTRIBUTING.md file that explicitly states:
|
||||
- Contributors must agree that their contributions will be subject to the project's dual licensing
|
||||
- Commercial rights for all contributions are assigned to Ralph & Eyal
|
||||
- Guidelines for acceptable contributions
|
||||
|
||||
7. Ensure all source code files include appropriate license headers that reference the dual license structure.
|
||||
|
||||
# Test Strategy:
|
||||
To verify correct implementation, perform the following checks:
|
||||
|
||||
1. File verification:
|
||||
- Confirm the MIT license file has been removed
|
||||
- Verify LICENSE.md exists and contains both BSL and Apache 2.0 license texts
|
||||
- Confirm README.md includes the license section with clear explanation
|
||||
- Verify CONTRIBUTING.md exists with proper contributor guidelines
|
||||
- Check package.json for updated license field
|
||||
|
||||
2. Content verification:
|
||||
- Review LICENSE.md to ensure it properly describes the dual license structure with clear terms
|
||||
- Verify README.md license section is concise yet complete
|
||||
- Check that commercial rights are explicitly reserved for Ralph & Eyal in all relevant documents
|
||||
- Ensure CONTRIBUTING.md clearly explains the licensing implications for contributors
|
||||
|
||||
3. Legal review:
|
||||
- Have a team member not involved in the implementation review all license documents
|
||||
- Verify that the chosen BSL terms properly protect commercial interests
|
||||
- Confirm the Apache 2.0 implementation is correct and compatible with the BSL portions
|
||||
|
||||
4. Source code check:
|
||||
- Sample at least 10 source files to ensure they have updated license headers
|
||||
- Verify no MIT license references remain in any source files
|
||||
|
||||
5. Documentation check:
|
||||
- Ensure any documentation that mentioned licensing has been updated to reflect the new structure
|
||||
|
||||
# Subtasks:
|
||||
## 1. Remove MIT License and Create Dual License Files [done]
|
||||
### Dependencies: None
|
||||
### Description: Remove all MIT license references from the codebase and create the new license files for the dual license structure.
|
||||
### Details:
|
||||
Implementation steps:
|
||||
1. Scan the entire codebase to identify all instances of MIT license references (license files, headers in source files, documentation mentions).
|
||||
2. Remove the MIT license file and all direct references to it.
|
||||
3. Create a LICENSE.md file containing:
|
||||
- Full text of Business Source License (BSL) 1.1 with explicit commercial rights reservation for Ralph & Eyal
|
||||
- Full text of Apache 2.0 license for non-commercial use
|
||||
- Clear definitions of what constitutes commercial vs. non-commercial use
|
||||
- Specific terms for obtaining commercial use permission
|
||||
4. Create a CONTRIBUTING.md file that explicitly states the contribution terms:
|
||||
- Contributors must agree to the dual licensing structure
|
||||
- Commercial rights for all contributions are assigned to Ralph & Eyal
|
||||
- Guidelines for acceptable contributions
|
||||
|
||||
Testing approach:
|
||||
- Verify all MIT license references have been removed using a grep or similar search tool
|
||||
- Have legal review of the LICENSE.md and CONTRIBUTING.md files to ensure they properly protect commercial rights
|
||||
- Validate that the license files are properly formatted and readable
|
||||
|
||||
## 2. Update Source Code License Headers and Package Metadata [done]
|
||||
### Dependencies: 39.1
|
||||
### Description: Add appropriate dual license headers to all source code files and update package metadata to reflect the new licensing structure.
|
||||
### Details:
|
||||
Implementation steps:
|
||||
1. Create a template for the new license header that references the dual license structure (BSL 1.1 / Apache 2.0).
|
||||
2. Systematically update all source code files to include the new license header, replacing any existing MIT headers.
|
||||
3. Update the license field in package.json to "BSL 1.1 / Apache 2.0".
|
||||
4. Update any other metadata files (composer.json, setup.py, etc.) that contain license information.
|
||||
5. Verify that any build scripts or tools that reference licensing information are updated.
|
||||
|
||||
Testing approach:
|
||||
- Write a script to verify that all source files contain the new license header
|
||||
- Validate package.json and other metadata files have the correct license field
|
||||
- Ensure any build processes that depend on license information still function correctly
|
||||
- Run a sample build to confirm license information is properly included in any generated artifacts
|
||||
|
||||
## 3. Update Documentation and Create License Explanation [done]
|
||||
### Dependencies: 39.1, 39.2
|
||||
### Description: Update project documentation to clearly explain the dual license structure and create comprehensive licensing guidance.
|
||||
### Details:
|
||||
Implementation steps:
|
||||
1. Update the README.md with a clear, concise explanation of the licensing terms:
|
||||
- Summary of what users can and cannot do with the code
|
||||
- Who holds commercial rights (Ralph & Eyal)
|
||||
- How to obtain commercial use permission
|
||||
- Links to the full license texts
|
||||
2. Create a dedicated LICENSING.md or similar document with detailed explanations of:
|
||||
- The rationale behind the dual licensing approach
|
||||
- Detailed examples of what constitutes commercial vs. non-commercial use
|
||||
- FAQs addressing common licensing questions
|
||||
3. Update any other documentation references to licensing throughout the project.
|
||||
4. Create visual aids (if appropriate) to help users understand the licensing structure.
|
||||
5. Ensure all documentation links to licensing information are updated.
|
||||
|
||||
Testing approach:
|
||||
- Have non-technical stakeholders review the documentation for clarity and understanding
|
||||
- Verify all links to license files work correctly
|
||||
- Ensure the explanation is comprehensive but concise enough for users to understand quickly
|
||||
- Check that the documentation correctly addresses the most common use cases and questions
|
||||
|
||||
@@ -2164,6 +2164,50 @@
|
||||
"priority": "high",
|
||||
"details": "Implement a version check mechanism that runs automatically with every command execution:\n\n1. Create a new module (e.g., `versionChecker.js`) that will:\n - Fetch the latest version from npm registry using the npm registry API (https://registry.npmjs.org/task-master-ai/latest)\n - Compare it with the current installed version (from package.json)\n - Store the last check timestamp to avoid excessive API calls (check once per day)\n - Cache the result to minimize network requests\n\n2. The notification should:\n - Use colored text (e.g., yellow background with black text) to be noticeable\n - Include the current version and latest version\n - Show the exact upgrade command: 'npm i task-master-ai@latest'\n - Be displayed at the beginning or end of command output, not interrupting the main content\n - Include a small separator line to distinguish it from command output\n\n3. Implementation considerations:\n - Handle network failures gracefully (don't block command execution if version check fails)\n - Add a configuration option to disable update checks if needed\n - Ensure the check is lightweight and doesn't significantly impact command performance\n - Consider using a package like 'semver' for proper version comparison\n - Implement a cooldown period (e.g., only check once per day) to avoid excessive API calls\n\n4. The version check should be integrated into the main command execution flow so it runs for all commands automatically.",
|
||||
"testStrategy": "1. Manual testing:\n - Install an older version of the package\n - Run various commands and verify the update notification appears\n - Update to the latest version and confirm the notification no longer appears\n - Test with network disconnected to ensure graceful handling of failures\n\n2. Unit tests:\n - Mock the npm registry response to test different scenarios:\n - When a newer version exists\n - When using the latest version\n - When the registry is unavailable\n - Test the version comparison logic with various version strings\n - Test the cooldown/caching mechanism works correctly\n\n3. Integration tests:\n - Create a test that runs a command and verifies the notification appears in the expected format\n - Test that the notification appears for all commands\n - Verify the notification doesn't interfere with normal command output\n\n4. Edge cases to test:\n - Pre-release versions (alpha/beta)\n - Very old versions\n - When package.json is missing or malformed\n - When npm registry returns unexpected data"
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"title": "Update Project Licensing to Dual License Structure",
|
||||
"description": "Replace the current MIT license with a dual license structure that protects commercial rights for project owners while allowing non-commercial use under an open source license.",
|
||||
"status": "done",
|
||||
"dependencies": [],
|
||||
"priority": "high",
|
||||
"details": "This task requires implementing a comprehensive licensing update across the project:\n\n1. Remove all instances of the MIT license from the codebase, including any MIT license files, headers in source files, and references in documentation.\n\n2. Create a dual license structure with:\n - Business Source License (BSL) 1.1 or similar for commercial use, explicitly stating that commercial rights are exclusively reserved for Ralph & Eyal\n - Apache 2.0 for non-commercial use, allowing the community to use, modify, and distribute the code for non-commercial purposes\n\n3. Update the license field in package.json to reflect the dual license structure (e.g., \"BSL 1.1 / Apache 2.0\")\n\n4. Add a clear, concise explanation of the licensing terms in the README.md, including:\n - A summary of what users can and cannot do with the code\n - Who holds commercial rights\n - How to obtain commercial use permission if needed\n - Links to the full license texts\n\n5. Create a detailed LICENSE.md file that includes:\n - Full text of both licenses\n - Clear delineation between commercial and non-commercial use\n - Specific definitions of what constitutes commercial use\n - Any additional terms or clarifications specific to this project\n\n6. Create a CONTRIBUTING.md file that explicitly states:\n - Contributors must agree that their contributions will be subject to the project's dual licensing\n - Commercial rights for all contributions are assigned to Ralph & Eyal\n - Guidelines for acceptable contributions\n\n7. Ensure all source code files include appropriate license headers that reference the dual license structure.",
|
||||
"testStrategy": "To verify correct implementation, perform the following checks:\n\n1. File verification:\n - Confirm the MIT license file has been removed\n - Verify LICENSE.md exists and contains both BSL and Apache 2.0 license texts\n - Confirm README.md includes the license section with clear explanation\n - Verify CONTRIBUTING.md exists with proper contributor guidelines\n - Check package.json for updated license field\n\n2. Content verification:\n - Review LICENSE.md to ensure it properly describes the dual license structure with clear terms\n - Verify README.md license section is concise yet complete\n - Check that commercial rights are explicitly reserved for Ralph & Eyal in all relevant documents\n - Ensure CONTRIBUTING.md clearly explains the licensing implications for contributors\n\n3. Legal review:\n - Have a team member not involved in the implementation review all license documents\n - Verify that the chosen BSL terms properly protect commercial interests\n - Confirm the Apache 2.0 implementation is correct and compatible with the BSL portions\n\n4. Source code check:\n - Sample at least 10 source files to ensure they have updated license headers\n - Verify no MIT license references remain in any source files\n\n5. Documentation check:\n - Ensure any documentation that mentioned licensing has been updated to reflect the new structure",
|
||||
"subtasks": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "Remove MIT License and Create Dual License Files",
|
||||
"description": "Remove all MIT license references from the codebase and create the new license files for the dual license structure.",
|
||||
"dependencies": [],
|
||||
"details": "Implementation steps:\n1. Scan the entire codebase to identify all instances of MIT license references (license files, headers in source files, documentation mentions).\n2. Remove the MIT license file and all direct references to it.\n3. Create a LICENSE.md file containing:\n - Full text of Business Source License (BSL) 1.1 with explicit commercial rights reservation for Ralph & Eyal\n - Full text of Apache 2.0 license for non-commercial use\n - Clear definitions of what constitutes commercial vs. non-commercial use\n - Specific terms for obtaining commercial use permission\n4. Create a CONTRIBUTING.md file that explicitly states the contribution terms:\n - Contributors must agree to the dual licensing structure\n - Commercial rights for all contributions are assigned to Ralph & Eyal\n - Guidelines for acceptable contributions\n\nTesting approach:\n- Verify all MIT license references have been removed using a grep or similar search tool\n- Have legal review of the LICENSE.md and CONTRIBUTING.md files to ensure they properly protect commercial rights\n- Validate that the license files are properly formatted and readable",
|
||||
"status": "done",
|
||||
"parentTaskId": 39
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "Update Source Code License Headers and Package Metadata",
|
||||
"description": "Add appropriate dual license headers to all source code files and update package metadata to reflect the new licensing structure.",
|
||||
"dependencies": [
|
||||
1
|
||||
],
|
||||
"details": "Implementation steps:\n1. Create a template for the new license header that references the dual license structure (BSL 1.1 / Apache 2.0).\n2. Systematically update all source code files to include the new license header, replacing any existing MIT headers.\n3. Update the license field in package.json to \"BSL 1.1 / Apache 2.0\".\n4. Update any other metadata files (composer.json, setup.py, etc.) that contain license information.\n5. Verify that any build scripts or tools that reference licensing information are updated.\n\nTesting approach:\n- Write a script to verify that all source files contain the new license header\n- Validate package.json and other metadata files have the correct license field\n- Ensure any build processes that depend on license information still function correctly\n- Run a sample build to confirm license information is properly included in any generated artifacts",
|
||||
"status": "done",
|
||||
"parentTaskId": 39
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "Update Documentation and Create License Explanation",
|
||||
"description": "Update project documentation to clearly explain the dual license structure and create comprehensive licensing guidance.",
|
||||
"dependencies": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"details": "Implementation steps:\n1. Update the README.md with a clear, concise explanation of the licensing terms:\n - Summary of what users can and cannot do with the code\n - Who holds commercial rights (Ralph & Eyal)\n - How to obtain commercial use permission\n - Links to the full license texts\n2. Create a dedicated LICENSING.md or similar document with detailed explanations of:\n - The rationale behind the dual licensing approach\n - Detailed examples of what constitutes commercial vs. non-commercial use\n - FAQs addressing common licensing questions\n3. Update any other documentation references to licensing throughout the project.\n4. Create visual aids (if appropriate) to help users understand the licensing structure.\n5. Ensure all documentation links to licensing information are updated.\n\nTesting approach:\n- Have non-technical stakeholders review the documentation for clarity and understanding\n- Verify all links to license files work correctly\n- Ensure the explanation is comprehensive but concise enough for users to understand quickly\n- Check that the documentation correctly addresses the most common use cases and questions",
|
||||
"status": "done",
|
||||
"parentTaskId": 39
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user