Skip to content

Latest commit

 

History

History
150 lines (106 loc) · 7.54 KB

README.md

File metadata and controls

150 lines (106 loc) · 7.54 KB

🔮 Open-Source License Wizard 🧙‍♂️

Table of Contents

  1. Introduction
  2. Features
  3. Installation
  4. Usage
  5. How It Works
  6. Contributing
  7. Future Scope
  8. License

Introduction

Banner Image

The Open Source License Wizard is an interactive Streamlit application designed to assist developers in selecting the most appropriate open-source license for their projects. With its enchanting starry interface and intuitive questionnaire, this wizard simplifies the often complex process of license selection.

New Feature Alert: We have integrated advanced Natural Language Processing (NLP) techniques into the License Wizard, enabling it to recommend suitable licenses with an accuracy of 85-90% in most cases. This enhancement allows developers to make more informed decisions that align with their project goals, community expectations, and legal requirements.

Features

Key Features

  • Interactive Questionnaire: Answer a series of questions tailored to your project and preferences.
  • NLP-Powered License Recommendation Engine: Utilizes NLP to analyze user inputs and recommend the most suitable open-source licenses.
  • Enchanting User Interface: A visually appealing starry night sky background with animated elements creates an engaging experience.
  • Detailed License Information: Key features and points for each recommended license are provided for better understanding.
  • Responsive Design: Optimized for various screen sizes and devices, ensuring accessibility for all users.

Installation

flowchart

Installation Steps

To set up the Open Source License Wizard on your local machine, follow these steps:

  1. Clone the repository:

    git clone https://github.com/yourusername/open-source-license-wizard.git
  2. Navigate to the project directory:

    cd open-source-license-wizard
  3. Install the required dependencies:

    pip install -r requirements.txt
  4. Run the Streamlit app:

    streamlit run main.py

Usage

Usage Flow

  1. Launch the application by running the Streamlit command mentioned in the installation steps.
  2. Follow the prompts in the interactive questionnaire.
  3. Check the boxes that apply to your project and preferences.
  4. Click the "Get Recommendations" button to receive personalized license suggestions.
  5. Review the recommended licenses and their key features.
  6. Use this information to make an informed decision about which license to choose for your project.

How It Works

How It Works Diagram

The Open Source License Wizard employs a sophisticated scoring system enhanced by NLP to match user preferences with license features. Here’s a brief overview of the process:

  1. Data Loading: The application loads license data and questions from JSON files.
  2. User Input: Users answer questions through an interactive interface.
  3. NLP Processing: The NLP engine analyzes the input to understand user intent and context.
  4. Scoring: Each license is scored based on its alignment with user preferences.
  5. Recommendation: The top-scoring licenses are presented as recommendations.

Contributing

contri_flowchart

Contributing Guidelines

We welcome contributions to the Open Source License Wizard! If you'd like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them with descriptive commit messages.
  4. Push your changes to your fork.
  5. Submit a pull request with a clear description of your changes.

Please ensure your code adheres to the project's coding standards and includes appropriate tests.

Future Scope

Future Plans

We have exciting plans for the future of the Open Source License Wizard:

  1. Expanded License Database: Incorporate more open-source licenses and keep the existing ones up-to-date.
  2. Machine Learning Enhancements: Further improve license recommendations based on user feedback and project characteristics.
  3. Internationalization: Add support for multiple languages to make the wizard accessible to a global audience.
  4. License Comparison Tool: Develop a feature that allows users to compare different licenses side-by-side.
  5. Project Analysis Integration: Create functionality to analyze a user's project files and suggest licenses based on dependencies and code structure.
  6. Community Feedback System: Implement a system for users to provide feedback on recommendations, helping to improve the wizard's accuracy over time.
  7. License Compliance Checker: Add a tool to check if a project's current license usage is compliant with its dependencies.
  8. Interactive License Education: Develop an interactive tutorial or quiz system to help users understand different aspects of open-source licensing.
  9. API Development: Create an API for the license recommendation engine, allowing integration with other development tools and platforms.
  10. Customizable Interface: Allow users to customize the appearance of the wizard, including themes and background options.

Future Directions and Goals

Long-Term Goals

  1. Partnerships: Collaborate with open-source foundations and legal experts to ensure the accuracy and relevance of our recommendations.
  2. Academic Research: Partner with academic institutions to conduct research on open-source licensing trends and their impact on project success.
  3. Integration with Development Platforms: Work towards integrating the License Wizard with popular development platforms and version control systems for seamless license selection during project creation.
  4. Mobile Application: Develop a mobile version of the License Wizard for on-the-go developers.
  5. Workshops and Webinars: Organize educational events to help developers understand the importance of proper licensing and how to use the wizard effectively.
  6. Continuous Improvement: Regularly update the recommendation algorithm based on user feedback, new licenses, and changes in the open-source landscape.
  7. Accessibility: Ensure the wizard is fully accessible to users with disabilities, following WCAG guidelines.
  8. Sustainability: Explore sustainable funding models to support the long-term development and maintenance of the project.

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute it as per the license terms.


We hope the Open Source License Wizard helps you navigate the world of open-source licensing with ease and confidence. If you have any questions, suggestions, or feedback, please don't hesitate to open an issue or contact the maintainers. Happy coding! 🚀✨


Visual Suggestions

  • Banner Image: A visually appealing banner that represents the theme of the project.
  • Features Overview: A graphic summarizing the key features of the application.
  • Installation Steps: A flowchart or infographic illustrating the installation process.
  • Usage Flow: A step-by-step visual guide on how to use the application.
  • How It Works Diagram: A diagram that visually explains the scoring and recommendation process.
  • Contributing Guidelines: A graphic that outlines the contribution process.
  • Future Scope: An infographic highlighting future plans for the project.
  • Future Goals: A visual representation of long-term goals and directions.