A spiral desk calendar with blank pages and a single square outlined in cyan.

Open source scheduling software: which Calendly alternative to pick

To let clients or colleagues book time with you without Calendly, you can choose between three open source tools, and each one answers a different need. Cal.com works like Calendly: guests take a free slot from a booking page. Its code has been closed since April 2026, though. The part that stayed open source, Cal.diy, lost teams and workflows, and its own README recommends it only for personal, non-production use. Easy!Appointments runs the calendar of a team that sells services and gets by with PHP and MySQL, but it sends no reminder before the appointment and handles no payments. Rallly doesn't book slots at all: it gets a group to vote on dates, and self-hosting it is free for a single account only.

Booking pages, service calendars and date polls

A booking page is how Calendly works, and how Cal.com works too: for years it billed itself as "the open-source Calendly successor". Each user sets up event types and connects their calendars, then guests pick a free slot on a public page or in a widget embedded inline, as a pop-up or as a floating button. Cal.diy keeps recurring, seated and paid events, private links, buffer times, minimum notice and booking limits.

A service calendar starts from the team rather than the person. In Easy!Appointments, an admin defines services, each with a duration, a price and a category, then providers, each with working hours, breaks and exception days. Customers pick a service, a provider or "any provider", then a slot, and secretary accounts manage the calendars of the providers assigned to them. The project's homepage names healthcare, education, salons and recruitment. Of the three, Easy!Appointments is the only one that spreads bookings across several people in its free version: Cal.diy lost teams, round-robin and collective events, which Cal.com sells on its hosted plans.

A date poll flips the roles: the organiser suggests a few days or time slots, and participants tick the ones that suit them, without creating an account. Rallly pitches itself as an alternative to Doodle and When2meet rather than to Calendly. Each participant sees the slots in their own time zone, and a single grid holds everyone's answers.

Cal.com went closed source: what Cal.diy keeps under MIT

Cal.com announced its move to closed source on 14 April 2026, arguing that AI can now comb through a public codebase for vulnerabilities. The next day the public repository became calcom/cal.diy, and a single merge deleted 411,881 lines across 4,080 files. Until then, an AGPLv3 core sat next to two ee folders under a commercial licence. Cal.diy is MIT throughout, needs no licence key, and exists only as a self-hosted project. Customers who self-host the enterprise edition are invited to a private GitHub repository.

The Cal.diy feature table lists what went: teams, round-robin and collective events, managed event types, Organizations, workflows, routing forms, SAML and SCIM, the Insights dashboard, API v1, the admin panel and Cal Video recordings. What stays is the booking engine, the calendar and video integrations, webhooks, the v2 REST API, and connectors for Zapier, n8n, Make and Pipedream.

The Cal.diy README opens with a warning: "Use at your own risk", "strictly recommended for personal, non-production use". Self-hosting, it says, "requires advanced knowledge of server administration, database management, and securing sensitive data", and any commercial use is pointed to Cal.com, hosted or on-prem through its sales team. If you're after an open source Calendly alternative, Cal.diy is the closest of the three, but its own vendor advises against running it in production.

What each tool needs to run

Read from the repositories and documentation on 7 October 2026.

ToolLicenceWhat you runUse caseCalendars and videoLatest release
Cal.diy, Cal.com's open source editionMITNode.js 18 and PostgreSQL 13 or later, Redis for API v2; you build the image yourselfindividual booking pageGoogle, Outlook, Apple, Exchange, Zoho, CalDAV, ICS; Jitsi, Zoom, Meet, Teams, Webex, Cal Videov6.2.0, 1 Mar 2026, before the split
Easy!AppointmentsGPL-3.0Apache 2.4, PHP 8.2 and MySQL 5.7 or later; shared hosting, per the guidecalendar of services and providerstwo-way Google sync, CalDAV; Jitsi, Google Meet1.6.0, 27 May 2026; 1.6.1 in beta
RalllyAGPL-3.0 or laterDocker stack: PostgreSQL, S3 storage (Garage), Traefik; 2 GB of RAM and an SMTP serverdate poll, voting without an account.ics invite; Google Meet, plus Teams and Webex on Prov4.15.4, 6 Oct 2026

Easy!Appointments installs without containers: you upload the files, fill in config.php, and a web wizard finishes the job. Two cron jobs are recommended, one to sync calendars and one for the clean-up tied to data retention. The repository's docker-compose.yml is for development only; the production image, alextselegidis/easyappointments, comes from a separate repository and expects MySQL in a second container.

Cal.diy has no published image. Its docs point to calcom/cal.diy on Docker Hub, an image repository created on 14 April 2026 and still empty on 7 October. So you build your own, with a database reachable during the build and DOCKER_BUILDKIT=0, and the Dockerfile lets Node's heap grow to 6,144 MB. The Compose file adds Redis, which the API v2 service needs, and anonymous telemetry stays on unless CALCOM_TELEMETRY_DISABLED is set to 1. The docs promise "pretty minimal hardware requirements" without putting a number on them.

Rallly installs through a script that sets up a Docker Compose stack: PostgreSQL, Garage for S3 storage, Traefik for HTTPS and the Next.js app, any of which can be swapped for an external service. It needs at least 2 GB of RAM, ports 80 and 443, a domain name and an SMTP server; without SMTP, neither sign-in links nor notifications go out. The built-in backup copies the database only, not the garage-data volume that holds uploaded files.

Calendars, video calls, reminders and payments

Cal.diy connects to the widest range of calendars: Google, Outlook and Office 365, Apple, Exchange, Zoho, ICS feeds and CalDAV, so it can also talk to a self-hosted calendar server. For video, it creates Jitsi, Zoom, Google Meet, Microsoft Teams or Webex links, or uses Cal Video, which runs on the Daily.co service.

Easy!Appointments links each provider to their Google Calendar, synced both ways, or, since 1.5.0, to a CalDAV server. Since 1.6.0, appointments booked online come with a Jitsi link, and providers synced with Google can add a Google Meet link.

Rallly brings the calendar in at the end: the chosen option goes out to participants by email with an .ics invite. A connected Google Meet account adds the meeting link on every plan, self-hosted or on rallly.co. Microsoft Teams, limited to work or school accounts, and Webex require a Pro subscription.

Reminders and payments split the two booking tools. Easy!Appointments only sends emails when an appointment is created, changed or cancelled: automatic reminders have been requested since September 2021 (issue #1132, still open). Services carry a price, but the code has no payment module. Cal.diy takes payment for paid events through Stripe or PayPal, but it lost workflows, the module that handles reminders in Cal.com.

Where the projects stand

Rallly is the most active: thirty-one releases in 2026, up to v4.15.4 on 6 October. That release fixes a critical Next.js flaw, server-side code execution scored 9.5 on the CVSS scale, exploitable without signing in and present since v4.8.0. Luke Vella authored 3,453 of the 3,558 commits on the main branch.

Easy!Appointments also rests on one developer: Alex Tselegidis has 3,577 commits in a repository that dates from 2014, and the next contributor has 41. Stable releases are far apart, with twenty-eight months between 1.4.3 in March 2022 and 1.5.0 in July 2024, then 1.6.0 on 27 May 2026. Seven security advisories came out in 2026; the most serious, rated high, allowed appointment takeover and is fixed in 1.6.0. The 1.6.1 pre-release notes list further security fixes, including a CAPTCHA that could be bypassed, and no stable release included them on 7 October 2026.

Cal.diy hasn't shipped a release since the split: the latest, v6.2.0 from 1 March 2026, still dates from Cal.com. The code keeps moving, with 99 commits between 16 April and 7 October 2026, 63 of them tagged fix and 2 tagged feat. According to Cal.com, the repository is run by former Cal.com interns who became its official maintainers.

Licences and paid plans

Cal.diy is under MIT: you can modify the code, ship it in a product or run it as a service without publishing anything. Easy!Appointments is under GPL-3.0, commercial use included, and only asks you to publish your changes if you redistribute the software. Rallly is under AGPL-3.0 or later, which extends that obligation to anyone running a modified version as a service over a network.

Cal.com's hosted plan, on closed code, is free for one user. Teams, round-robin, collective events and routing forms start at 12 dollars per user per month (Teams plan), SAML and SCIM at 28 dollars (Organizations plan), and the on-prem enterprise edition goes through sales.

Easy!Appointments has no self-service hosted plan. Its author sells white-label licences, including an "Extended" one for SaaS vendors and resellers, along with managed hosting, support and custom development, with no published prices. The booking page shows "Powered By Easy!Appointments", hard-coded in its template.

Rallly has required a licence since v4.0.0 on 28 May 2025 for any self-hosted instance with more than one user: Plus at 49 dollars for up to 5 users, Organization at 299 dollars for up to 50 (a limited-time price, down from 499), Enterprise from 999 dollars. These licences are perpetual for the whole 4.x series, and only registered accounts count, not participants who vote without one. Enforcement runs on the honour system: past the limit, the instance keeps working and shows a banner. On rallly.co, the free plan deletes a poll once all its dates are past and it has seen no activity for more than 30 days. Pro, at 6 dollars per seat per month billed yearly, adds team spaces, the API and webhooks among other things, and the docs state that only the hosted version serves the API.