Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add funding.json according to https://floss.fund/funding-manifest/ #679

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

pikurasa
Copy link
Contributor

I created this file per https://floss.fund/funding-manifest/

After we publish it, we can apply for https://dir.floss.fund/submit

I used the example they have published as a template. I wasn't quite sure what to do with "wellknown", so I kept the placeholder text for now.

@MostlyKIGuess
Copy link
Member

image
Should be working fine after that change.

@MostlyKIGuess
Copy link
Member

Also
" entity.type should be one of: individual, group, organisation, other " is what I got from
https://dir.floss.fund/validate.

@MostlyKIGuess
Copy link
Member

MostlyKIGuess commented Feb 21, 2025

A validated Schema:

{
    "$schema": "https://floss.fund/schema/v1.0.0/funding.schema.json#",
    "version": "v1.0.0",
    "entity": {
        "type": "organisation",
        "role": "other",
        "name": "Sugar Labs Inc.",
        "email": "info@sugarlabs.org",
        "phone": "1-617-702-4088",
        "description": "Sugar Labs® is a US-based 501(c)(3) nonprofit organization with a global mission to create educational opportunities in technology to youth around the world. Volunteer mentors and contributors work together to develop activity-focused software for children. All software is developed with learning as the primary goal, necessitating the need for source code to be published publicly for study, licensed under a Free/Libre license for explicit permission to share and remix, and openly worked upon within a community where students are invited to make contributions, under guidance of experienced mentors.",
        "webpageUrl": {
            "url": "https://www.sugarlabs.org",
            "wellKnown": ""
        }
    },
    "projects": [{
        "guid": "sugar-dle",
        "name": "Sugar Desktop Learning Environment",
        "description": "Sugar is the desktop environment component of a worldwide effort to provide every child with an equal opportunity for a quality education. Available in more than twenty-five languages, Sugar Activities are used every school day by children in more than forty countries.\n\nOriginally developed for the One Laptop per Child XO-1 netbook, Sugar can run on most computers.\n\nSugar is free/libre and open-source software.",
        "webpageUrl": {
            "url": "https://www.sugarlabs.org/booting-soas/"
        },
        "repositoryUrl": {
            "url": "https://github.com/sugarlabs/sugar",
            "wellKnown": "https://raw.githubusercontent.com/sugarlabs/sugar/main/.well-known/funding-manifest-urls"
        },
        "licenses": ["spdx:AGPL-3.0"],
        "tags": ["education", "free-desktop", "learning", "gnu-linux"]
    },
    {
        "guid": "sugarizer",
        "name": "Sugarizer",
        "description": "Sugarizer is a free/libre learning platform. The Sugarizer UI uses ergonomic principles from The Sugar platform, developed for the One Laptop per Child project and used by more than 2 million children around the world.\n\nSugarizer runs on every device: laptops, desktops, tiny computers, tablets or smartphones.\n\nSugarizer includes a large set of pedagogic activities thought for children, see here for a full list.\n\nSugarizer is available as an application -- an installable app for every operating system -- and a web Application --a web application that runs in modern web browsers.",
        "webpageUrl": {
            "url": "https://sugarizer.org/"
        },
        "repositoryUrl": {
            "url": "https://github.com/sugarlabs/sugarizer/",
            "wellKnown": "https://raw.githubusercontent.com/sugarlabs/sugarizer/main/.well-known/funding-manifest-urls"
        },
        "licenses": ["spdx:MIT"],
        "tags": ["multi-platform", "web", "education", "learning"]
        },
        {
        "guid": "music-blocks",
        "name": "Music Blocks",
        "description": "Music Blocks is a Visual Programming Language and collection of manipulative tools for exploring musical and mathematical concepts in an integrative and entertaining way.",
        "webpageUrl": {
            "url": "http://sugarlabs.github.io/musicblocks/"
        },
        "repositoryUrl": {
            "url": "https://github.com/sugarlabs/musicblocks/",
            "wellKnown": "https://raw.githubusercontent.com/sugarlabs/musicblocks/main/.well-known/funding-manifest-urls"
        },
        "licenses": ["spdx:MIT"],
        "tags": ["multi-platform", "web", "music", "programming-language", "logo", "education", "learning"]
    }
    ],
    "funding": {
        "channels": [
            {
                "guid": "sugarlabs-bank",
                "type": "bank",
                "address": "2028 E Ben White Blvd STE 240 PMB 1271\n\nAUSTIN, TX 78741\n\nUSA",
                "description": "You may send checks to our mailing address."
            },
            {
                "guid": "paypal",
                "type": "payment-provider",
                "address": "https://www.paypal.com/paypalme/sugarlabsinc",
                "description": "Pay with your debit/credit card or via PayPal through this gateway."
            }
        ],
        "plans": [
            {
                "guid": "hosting-monthly",
                "status": "active",
                "name": "Hosting support",
                "description": "This will cover the monthly server hosting costs for the projects.",
                "amount": 250,
                "currency": "USD",
                "frequency": "monthly",
                "channels": ["sugarlabs-bank", "paypal"]
            },
        {
                "guid": "project-growth",
                "status": "active",
                "name": "Grow and manage the organization",
                "description": "Our projects require constant management in order to sustain and grow. Please consider helping us continue to grow.",
                "amount": 500,
                "currency": "USD",
                "frequency": "monthly",
                "channels": ["sugarlabs-bank", "paypal"]
            },
            {
                "guid": "developer-time",
                "status": "active",
                "name": "Developer compensation",
                "description": "This will cover the cost of one developer working part-time on the projects.",
                "amount": 1000,
                "currency": "USD",
                "frequency": "one-time",
                "channels": ["sugarlabs-bank", "paypal"]
            },
            {
                "guid": "angel-plan",
                "status": "active",
                "name": "Goodwill plan",
                "description": "Pay anything you wish to show your goodwill for the project.",
                "amount": 0,
                "currency": "USD",
                "frequency": "one-time",
                "channels": ["sugarlabs-bank", "paypal"]
            }
        ],
"history": [
           {"year": 2019, "income": 20000, "expenses": 2343, "taxes": 0, "currency": "USD", "description": "We applied for nonprofit status and received $20,000 to the new entity from the Software Freedom Conservancy, our former fiscal sponsor, in the form of a grant."},
            {"year": 2020, "income": 8100, "expenses": 12454, "taxes": 0, "currency": "USD", "description": "The higher expenses this year were due to legal and accounting expenses required to start as a new organization, newly separated from the Software Freedom Conservancy."},
            {"year": 2021, "income": 3200, "expenses": 5730, "taxes": 0, "currency": "USD", "description": ""},
            {"year": 2022, "income": 92569, "expenses": 5283, "taxes": 0, "currency": "USD", "description": "We received the remainder of our financial assets from Software Freedom Conservancy as a grant."},
            {"year": 2023, "income": 4500, "expenses": 8855, "taxes": 0, "currency": "USD", "description": ""}
        ]
    }
}

@MostlyKIGuess
Copy link
Member

We would although should first make wellKnowns

@MostlyKIGuess
Copy link
Member

We need to keep content of those well-Known files as:

https://www.sugarlabs.org/funding.json

@pikurasa
Copy link
Contributor Author

pikurasa commented Mar 1, 2025

We would although should first make wellKnowns

I'm not quite sure what wellKnowns are supposed to be in this context. Please educate me.

@MostlyKIGuess
Copy link
Member

Valid JSON:

{
  "version": "v1.0.0",
  "entity": {
    "type": "organisation",
    "role": "other",
    "name": "Sugar Labs Inc.",
    "email": "info@sugarlabs.org",
    "phone": "1-617-702-4088",
    "description": "Sugar Labs® is a US-based 501(c)(3) nonprofit organization with a global mission to create educational opportunities in technology to youth around the world. Volunteer mentors and contributors work together to develop activity-focused software for children. All software is developed with learning as the primary goal, necessitating the need for source code to be published publicly for study, licensed under a Free/Libre license for explicit permission to share and remix, and openly worked upon within a community where students are invited to make contributions, under guidance of experienced mentors.",
    "webpageUrl": {
      "url": "https://www.sugarlabs.org"
    }
  },
  "projects": [
    {
      "guid": "sugar-dle",
      "name": "Sugar Desktop Learning Environment",
      "description": "Sugar is the desktop environment component of a worldwide effort to provide every child with an equal opportunity for a quality education. Available in more than twenty-five languages, Sugar Activities are used every school day by children in more than forty countries.\n\nOriginally developed for the One Laptop per Child XO-1 netbook, Sugar can run on most computers.\n\nSugar is free/libre and open-source software.",
      "webpageUrl": {
        "url": "https://www.sugarlabs.org/booting-soas"
      },
      "repositoryUrl": {
        "url": "https://github.com/sugarlabs/sugar",
        "wellKnown": "https://github.com/sugarlabs/sugar/blob/master/.well-known/funding-manifest-urls"
      },
      "licenses": [
        "spdx:AGPL-3.0"
      ],
      "tags": [
        "education",
        "free-desktop",
        "learning",
        "gnu-linux"
      ]
    },
    {
      "guid": "music-blocks",
      "name": "Music Blocks",
      "description": "Music Blocks is a Visual Programming Language and collection of manipulative tools for exploring musical and mathematical concepts in an integrative and entertaining way.",
      "webpageUrl": {
        "url": "https://www.sugarlabs.org/music-blocks"
      },
      "repositoryUrl": {
        "url": "https://github.com/sugarlabs/musicblocks",
        "wellKnown": "https://github.com/sugarlabs/musicblocks/blob/master/.well-known/funding-manifest-urls"
      },
      "licenses": [
        "spdx:MIT"
      ],
      "tags": [
        "multi-platform",
        "web",
        "music",
        "programming-language",
        "logo",
        "education",
        "learning"
      ]
    }
  ],
  "funding": {
    "channels": [
      {
        "guid": "sugarlabs-bank",
        "type": "bank",
        "address": "2028 E Ben White Blvd STE 240 PMB 1271\n\nAUSTIN, TX 78741\n\nUSA",
        "description": "You may send checks to our mailing address."
      },
      {
        "guid": "paypal",
        "type": "payment-provider",
        "address": "https://www.paypal.com/paypalme/sugarlabsinc",
        "description": "Pay with your debit/credit card or via PayPal through this gateway."
      }
    ],
    "plans": [
      {
        "guid": "hosting-monthly",
        "status": "active",
        "name": "Hosting support",
        "description": "This will cover the monthly server hosting costs for the projects.",
        "amount": 250,
        "currency": "USD",
        "frequency": "monthly",
        "channels": [
          "sugarlabs-bank",
          "paypal"
        ]
      },
      {
        "guid": "project-growth",
        "status": "active",
        "name": "Grow and manage the organization",
        "description": "Our projects require constant management in order to sustain and grow. Please consider helping us continue to grow.",
        "amount": 500,
        "currency": "USD",
        "frequency": "monthly",
        "channels": [
          "sugarlabs-bank",
          "paypal"
        ]
      },
      {
        "guid": "developer-time",
        "status": "active",
        "name": "Developer compensation",
        "description": "This will cover the cost of one developer working part-time on the projects.",
        "amount": 1000,
        "currency": "USD",
        "frequency": "one-time",
        "channels": [
          "sugarlabs-bank",
          "paypal"
        ]
      },
      {
        "guid": "angel-plan",
        "status": "active",
        "name": "Goodwill plan",
        "description": "Pay anything you wish to show your goodwill for the project.",
        "amount": 0,
        "currency": "USD",
        "frequency": "one-time",
        "channels": [
          "sugarlabs-bank",
          "paypal"
        ]
      }
    ],
    "history": [
      {
        "year": 2019,
        "income": 20000,
        "expenses": 2343,
        "taxes": 0,
        "currency": "USD",
        "description": "We applied for nonprofit status and received $20,000 to the new entity from the Software Freedom Conservancy, our former fiscal sponsor, in the form of a grant."
      },
      {
        "year": 2020,
        "income": 8100,
        "expenses": 12454,
        "taxes": 0,
        "currency": "USD",
        "description": "The higher expenses this year were due to legal and accounting expenses required to start as a new organization, newly separated from the Software Freedom Conservancy."
      },
      {
        "year": 2021,
        "income": 3200,
        "expenses": 5730,
        "taxes": 0,
        "currency": "USD",
        "description": ""
      },
      {
        "year": 2022,
        "income": 92569,
        "expenses": 5283,
        "taxes": 0,
        "currency": "USD",
        "description": "We received the remainder of our financial assets from Software Freedom Conservancy as a grant."
      },
      {
        "year": 2023,
        "income": 4500,
        "expenses": 8855,
        "taxes": 0,
        "currency": "USD",
        "description": ""
      }
    ]
  }
}

@pikurasa
Copy link
Contributor Author

pikurasa commented Mar 5, 2025

@MostlyKIGuess I updated the file with a few of your suggestions, as well as some general updates.

There were some things I didn't understand:

Best,
Devin

@MostlyKIGuess
Copy link
Member

* Is there a reason for removing Schema at the beginning?

No reason, we could also keep that.

* Is there a difference between "nonprofit organization" and "organisation"?
  • Yes, there's no type in their schema as non-profit.
* For Music Blocks, I put https://musicblocks.sugarlabs.org/ for the URL. This is another place where people can access MB. Is that ok? Or should we instead point them to https://www.sugarlabs.org/music-blocks/ ?

That would give invalid schema on https://dir.floss.fund/validate as it would say the originn's don't match, now you can figure out the origins of a site by going to networks tag and checking the header.
If we decide to keep that site we need to put the .well-known in servers and I am not sure if that would fix that too , cross-origin might be still an issue, but that is the fix is what floss fund says. Because when we write www.sugarlabs.org it's origins are Github.com while for musicblocks.sugarlabs.org it's Server:Apache/2.4.52 (Ubuntu) .

So we won't have a valid schema if we do that, also I will soon make a PR in sugarizer repo of sugarlabs for well-known and we will have to put it's url as https://www.sugarlabs.org/sugarizer/ as well...

@pikurasa
Copy link
Contributor Author

pikurasa commented Mar 5, 2025

That would give invalid schema on https://dir.floss.fund/validate as it would say the originn's don't match, now you can figure out the origins of a site by going to networks tag and checking the header. If we decide to keep that site we need to put the .well-known in servers and I am not sure if that would fix that too , cross-origin might be still an issue, but that is the fix is what floss fund says. Because when we write www.sugarlabs.org it's origins are Github.com while for musicblocks.sugarlabs.org it's Server:Apache/2.4.52 (Ubuntu) .

So we won't have a valid schema if we do that, also I will soon make a PR in sugarizer repo of sugarlabs for well-known and we will have to put it's url as https://www.sugarlabs.org/sugarizer/ as well...

Ok, if that's what we need to do, then let's do that, I guess.

@pikurasa
Copy link
Contributor Author

pikurasa commented Mar 5, 2025

@MostlyKIGuess Also, please add this to our www-2 as well, so that it's ready when we deploy it, as it may be switched over in the middle of our funding request. (Let's try to keep the url for the manifest itself unchanged, even if some of the project slugs might need to change.)

@MostlyKIGuess
Copy link
Member

@MostlyKIGuess Also, please add this to our www-2 as well, so that it's ready when we deploy it, as it may be switched over in the middle of our funding request. (Let's try to keep the url for the manifest itself unchanged, even if some of the project slugs might need to change.)

Right, we can just keep the same funding.json and just change url dns of V2 to the current Sugarlabs.org and it should work fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants