🎉 Announcing ICDevs.org - a 501(c)3 for Internet Computer Developers

I am extremely excited to announce ICDevs.org. ICDevs is a Texas-based 501(c)3 non-profit with the stated mission of encouraging education, scientific discovery, and community building around the Internet Computer.

TLDR: Donate Now(https://icdevs.org/donations.html) and help build a developer-focused, 501(c)3 tax-advantaged, non-profit focusing on the IC developer ecosystem.

As I started developing for the IC, I kept running into some of the same issues around a lack of tools and technologies available to generate enterprise-level applications. As I started to build some of my own I quickly realized that there is a lot of down-in-the-mud, no-fun, un-profitable work that needs to get done to get us from here to there.

This need, coupled with the unique properties of how the ICP token works led me to the conclusion that there was both space and an opportunity for a US-based non-profit that focuses on developers. A 501(c)3 organization offers unique tax advantages to US Citizens and Corporations that may be looking to find advantaged tax treatment for their recent ICP investment gains and maturity income that also supports and accelerates their long-term holdings.

But we don’t expect to just help US Citizens and the tax treatment is a feature and not the mission of this new organization.

ICDevs.org’s immediate goals will be 1) fund and finance the non-profit tools and library work that needs to get done to make the IC go like a rocket 2) create and support the creation of educational material that brings more developers to the ecosystem 3) organize the community at in-person DevCon like events, and 4) advocate for the developer community on NNS proposals that affect how software is created for the IC. Down the road we will also lean in on 1) helping manage public services and infrastructure on the IC and 2) helping mature standards for the IC.

ICDevs has committed to putting 2/3 of all funds received into an 8-year staked neuron to create a funding snowball that will serve the community for years. Of the remaining 1/3, At least 2/3 will be used for directly funding community efforts across our 6 areas of focus. We’ve committed to using only 1/3 of 1/3 for administrative costs, and we hope that the majority of that will go to support staff that will become integral parts of the broader IC community. The maturity coming off our neuron will be reinvested into the charity with the same guidelines leading to a larger and larger pool of community funds to distribute year after year.

The priorities for our community funds will be directed by the [Developer Advisor Board(http://localhost:4000/developer_advisory_committee.html) that we are putting together. This means that all the cool kids you see banging around the DFINITY Developer message board and the development discord will be helping call the shots about what gets funded and in what priority. Becoming a developer advisor will be fairly easy and we’ll be hoping to have anyone and everyone in the developer community participate. This board will ratify the funding priorities of the charity and direct the vote of our endowed neuron on NNS proposals. I hope to announce our initial set of Developer Advisor Board members soon and we’ll be using IC tech to run it all.

As I’ve visited with key community members over the last couple of months about this I’m often asked why we need this organization if we have the DFINITY foundation and the ICA. The answer is three-fold 1) Decentralization makes us stronger 2) The community need a tax advantage entity in the US especially once the corporates start paying attention 3) Other organizations focus on a broad set of stakeholders and the dev community needs a strong organization focusing solely on our needs as the builders of the software that will run on top of the IC. This organization is not a competitor to those organizations and the intent is to come alongside and support those organizations

in any way we can.

How can you help? This is the part where I beg for donations to get us going! Donation info is here. Beyond that, get ready to participate with our developer advisor board. I’ll announce a process for that soon. If you want to dedicate an NNS neuron there are some hoops to jump through at the moment(so if anyone on the NNS UI team wants to add back the “Follow Neuron” topic with proper descriptions of what it does it would help us out a ton!). If you have any interesting fundraising ideas, we’d love to hear them. If you are an ICP whale and live in the US you can have your tax accountant reach out to us anonymously so we can discuss donations and tax strategy with them and they can get back to you about what options might work for you.

Thanks to my amazing board and advisors that have helped me get this far and to the community members that have given me feedback and guidance.

Finally, help us spread the word:

We have an announcement on dscvr that you can updoot: The Post

We have a twitter: https://twitter.com/icdevs_org and a tweet you can retweet: https://twitter.com/ICDevs_org/status/1447524244636721154

We have a subreddit: https://www.reddit.com/r/icdevs/ and a post to updoot: https://www.reddit.com/r/icdevs/comments/q5tgkj/hello_ic/

I’m happy to answer any questions and very excited to get this organization started.

23 Likes

I just want to say that I am in full support of ICDevs and I’m really excited about it! I hope other developers in here will consider getting involved in some way, and definitely consider donating what you can if you can.

10 Likes

Great idea. I echo @lastmjs thoughts!

5 Likes

Today was a great day! Thanks for all the well wishes and supportive comments across various platforms.

As a not so theoretical exercise, if we announced a series of 40 ICP bounties in the next week or so, what should we target first?

5 Likes

Personally I’d like to see a turnkey agent-react-native library, similar to the amazing agent-dart library that the AstroX team has built. (agent-js does not work without some painful setup.)

A simple RN library that works out of the box and lets RN apps (on mobile) connect to the IC.

The biggest hurdle to this is getting the Rust BLS signature validation code ported over to iOS and Android and exposing that to JavaScript.

Mobile is huge, the IC is huge, good things will happen from this IMO.


And congrats on the launch!

4 Likes

Bringing the world of web developers into the IC I think should be a top priority. This basically means allowing canisters to be authored in JavaScript/TypeScript/AssemblyScript.

I’d love to see the AssemblyScript CDK get more developed: GitHub - rckprtr/cdk-as: Unofficial Experimental AssemblyScript CDK for DFINITY

I’d love to see some initial work on getting a JavaScript environment compiled to Wasm to run within a canister (MVP first on the way to creating a Node/Deno for the IC).

And though I think JavaScript should be given priority over Python, there’s a whole world of data scientists that we might be able to bring over if we can get Python to run within canisters. So getting Pyodide to work within canisters could be excellent: GitHub - pyodide/pyodide: Python with the scientific stack, compiled to WebAssembly. There’s been some preliminary work on this I have heard, and it does basically work.

Another possibly simple project would be to get this social recovery MVP working: Social recovery for Internet Identity - #6 by nomeata

5 Likes

Getting agents written for other languages would probably be a great idea. For example, a Python agent would be nice (I know of someone who was attempting to write one just go get some simple data from canisters, it would have been nice if it had already existed).

5 Likes

The social recovery of internet identity is extremely cool.

This is also personally very important to me as I was thinking through the implications of current recovery mechanisms. If you have a seed phrase, you must store this seed phrase in a secure place somewhere. This means you have a cold wallet and that wallet must encode the key phrase (& it is a pain). Again the cold wallet must be stored in a physical vault somewhere…god…& I am not even GENZ.

Imagine a world in which you can summon your fav bffs to recover your internet identity…and with rotating keys, you can change your fav bffs as you progress in life. Also you can 3d print the qr codes to give to someone as a credit card size key share.

I went through a few slides and presentations on the threshold signatures. It seems pretty interesting; but it would really need to be secure.

6 Likes

Yet another exciting project for the Internet Computer!

Congrats

3 Likes

I’ll happily give technical guidance on any projects related to the Interface Spec and Candid (e.g. new agents), or the Internet Identity (e.g. the social recovery add-on or the dfx integration), to anyone who wants to tackle them.

3 Likes

This seems like a great idea and an easily chunked piece of work. My guess is someone has half the work already sitting on their hard drive for their proprietary project. Perhaps we can incentivize them to open it up.

1 Like

Thanks Austin, exactly what we need.

4 Likes

Very cool. I like seeing more leaders emerge in the community. Just donated ICP.

2 Likes

To start writing CDKs in other languages, we need a generalized CDK testing kit. I imagined your CDK would implement a list of services calls and then the unit tests would test each of these endpoints and then compare them against the expected results. Then when the CDK is published in GitHub it could show a list of supported functionality with estimated cycle costs for each of the unit tests. This would also highlight things like BigInt (arbitrary length integer) would not be supported in some languages, like AS and could driver further progress on developing support in those languages. The generalized CDK testing kit can be written in any language that currently has support for an agent-js. The inverse of this is we get an Agent testing kit by implementing all the same functionality on a Rust/Motoko canister.

Rick

3 Likes

Great idea, CDK and agent test suites.

Really great roadmap! Lots of good ideas. A couple of them came to my mind when I develop dapp on IC. That will help more developers to come onboard.

1 Like

You can grab agent_dart’s .so files of android and .framework files of ios, and write glue code using kotlin/java and oc/swift.

I think it should work.

And we are very much glad to help building RN ecosystem as long as more mobile devs get on board.

Might be a good idea that we have IC-MobileDevs group around?

1 Like

I’m doing an AMA if anyone has any questions we can immortalize them in a more public venue: https://www.reddit.com/r/dfinity/comments/q7hkjg/ama_austin_fatheree_executive_director_of_the_new/

2 Likes

I promoted it as well: https://twitter.com/mexitlan/status/1448704608780505099

2 Likes

Yeah, a mobile devs group sounds like a great idea!

1 Like