Something went wrong. Try again.
Jam Programming Language jamlang.org
compiler
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158---layout: pagetitle: Support Jam - Fuel the Sweetnesspermalink: /sponsor/minimal_footer: truefooter_text: Thank you for keeping the ecosystem sweet.funding: current: 4200 goal: 5000 milestone: Hire a full-time maintainer for the package manager.tiers: - name: Taste Tester price: 5 price_suffix: /mo description: Perfect for individuals who want to say thanks and support the servers. icon: coffee icon_bg: bg-pink-50 icon_color: text-pink-500 featured: false button_text: Select Tier perks: - Sponsor badge on GitHub - name: Sweet Tooth price: 15 price_suffix: /mo description: Serious contributors who want to help us ship features faster. icon: gem icon_bg: bg-pink-100 icon_color: text-pink-600 featured: true button_text: Select Tier perks: - Everything in Taste Tester - Early access to beta compilers - "Your name in the <code class='text-xs bg-white border border-pink-100 px-1 rounded'>CONTRIBUTORS.md</code>" - name: Jam Factory price: 100+ price_suffix: /mo description: For companies and organizations building their business on Jam. icon: building-2 icon_bg: bg-slate-100 icon_color: text-slate-700 featured: false button_text: Contact Us perks: - Logo on the homepage - Priority issue support - Private quarterly roadmap callfaq: - title: Infrastructure icon: server description: Hosting the package registry, documentation site, and CI/CD runners for our automated tests takes up about 30% of our budget. - title: Development Time icon: code-2 description: We use funds to pay our core maintainers, allowing them to focus on complex features like the new borrow checker and async runtime. - title: Community Events icon: users description: We sponsor JamConf and smaller local meetups. We also provide grants for community members to travel to these events. - title: Security Audits icon: shield description: Safety is a core tenet of Jam. We regularly hire third-party firms to audit the compiler and standard library.---
<!-- Header Section --><div class="text-center px-4"> <div class="max-w-3xl mx-auto relative"> <!-- Decorative background elements --> <div class="absolute top-0 left-1/2 -translate-x-1/2 -mt-20 w-96 h-96 bg-pink-100 rounded-full mix-blend-multiply filter blur-3xl opacity-40 animate-pulse"></div>
<span class="relative inline-flex items-center px-3 py-1 rounded-full bg-pink-50 border border-pink-100 text-pink-600 text-xs font-bold tracking-widest uppercase mb-6"> Open Source </span> <h1 class="relative text-5xl sm:text-6xl font-bold tracking-tight text-slate-900 mb-6 leading-tight"> Help us keep the <br> <span class="text-gradient">Jam flowing.</span> </h1> <p class="relative text-xl text-slate-600 mb-10 leading-relaxed"> Jam is free and open-source, built by a small team of dedicated developers. Your contributions help fund server costs, dedicated development time, and the occasional coffee. </p>
<!-- Progress Bar --> {% assign progress = page.funding.current | times: 100 | divided_by: page.funding.goal %} <div class="relative bg-white p-6 rounded-2xl border border-pink-100 shadow-sm mb-12 max-w-lg mx-auto"> <div class="flex justify-between text-sm font-bold text-slate-700 mb-2"> <span>Monthly Goal</span> <span class="text-pink-600">${{ page.funding.current | number }} / ${{ page.funding.goal | number }}</span> </div> <div class="w-full bg-slate-100 rounded-full h-3 overflow-hidden"> <div class="bg-gradient-to-r from-pink-400 to-pink-600 h-3 rounded-full" style="width: {{ progress }}%"></div> </div> <p class="text-xs text-slate-400 mt-3 text-left"> <i data-lucide="heart" class="w-3 h-3 inline mr-1 text-pink-400"></i> Next milestone: {{ page.funding.milestone }} </p> </div> </div></div>
<!-- Tiers Section --><section class="pb-24 px-4"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-3 gap-8"> {% for tier in page.tiers %} <div class="relative p-8 {% if tier.featured %}bg-gradient-to-b from-pink-50 to-white border-pink-200 shadow-lg transform md:-translate-y-4{% else %}bg-white border-slate-200 hover:border-pink-300 hover:shadow-xl{% endif %} border rounded-2xl transition-all duration-300 group"> {% if tier.featured %} <div class="absolute top-0 left-1/2 -translate-x-1/2 -mt-3 px-4 py-1 bg-pink-500 text-white text-xs font-bold uppercase tracking-wide rounded-full shadow-sm"> Most Popular </div> {% else %} <div class="absolute top-0 left-0 w-full h-1 bg-slate-200 rounded-t-2xl group-hover:bg-pink-300 transition-colors"></div> {% endif %}
<div class="w-12 h-12 {{ tier.icon_bg }} rounded-xl flex items-center justify-center mb-6 {{ tier.icon_color }}"> <i data-lucide="{{ tier.icon }}" class="w-6 h-6"></i> </div> <h3 class="text-2xl font-bold text-slate-900">{{ tier.name }}</h3> <div class="mt-2 mb-6 flex items-baseline text-slate-900"> <span class="text-4xl font-bold tracking-tight">${{ tier.price }}</span> <span class="ml-1 text-xl font-semibold text-slate-500">{{ tier.price_suffix }}</span> </div> <p class="text-slate-600 mb-8 min-h-[60px]">{{ tier.description }}</p> <ul class="space-y-4 mb-8"> {% for perk in tier.perks %} <li class="flex items-start"> <i data-lucide="check" class="w-5 h-5 text-pink-500 mr-2 shrink-0"></i> <span class="text-slate-600 text-sm">{{ perk }}</span> </li> {% endfor %} </ul> <button class="w-full py-3 px-4 rounded-lg {% if tier.featured %}bg-pink-600 text-white hover:bg-pink-700 shadow-md hover:shadow-lg{% else %}border border-{% if tier.name == 'Jam Factory' %}slate{% else %}pink{% endif %}-200 text-{% if tier.name == 'Jam Factory' %}slate{% else %}pink{% endif %}-700 hover:bg-{% if tier.name == 'Jam Factory' %}slate{% else %}pink{% endif %}-50{% endif %} font-bold transition-all"> {{ tier.button_text }} </button> </div> {% endfor %} </div> </div></section>
<!-- FAQ / Info Section --><section class="py-20 bg-slate-50 border-t border-slate-200"> <div class="max-w-4xl mx-auto px-4 sm:px-6"> <h2 class="text-3xl font-bold text-slate-900 mb-12 text-center">Where does the money go?</h2>
<div class="grid md:grid-cols-2 gap-12"> {% for item in page.faq %} <div> <h3 class="font-bold text-lg text-slate-800 mb-3 flex items-center"> <i data-lucide="{{ item.icon }}" class="w-5 h-5 text-pink-500 mr-2"></i> {{ item.title }} </h3> <p class="text-slate-600 leading-relaxed">{{ item.description }}</p> </div> {% endfor %} </div> </div></section>