DEV Community

Gary Kramlich
Gary Kramlich

Posted on • Originally published at patreon.com

Easter Eggs!

This article was originally posted on Patreon and has been brought over here to get all of the Pidgin Development/History posts into one single place.

Have you ever seen something in a program that looked like it shouldn't be there or maybe it was some kind of an inside joke? Don't worry, you're not crazy, these are what we call Easter Eggs!

Easter Eggs are a fun little diversion to those that find and or know about them that can be used to show their friends and invite them into the club of those that know about them!!

If you've ever compiled Pidgin 2, you may have seen this one right here:

Output of pidgin's configure script showing the text

We have yet to find any pots of gold 🤦

This is just one of MANY Easter Eggs you can find in the Pidgin Code base. But you may be wondering why we put so many of them into the program? That's a great question!

Easter Eggs do serve an additional purpose, especially when it comes to Free and Open Source Software. While it doesn't happen as often anymore, there are people out there that will take Free and Open Source Software, tinker with it, and then release it as their own without following the terms of the license. When it comes to cases of license violations and other IP disputes, the burden of proof belongs to the accuser.

Pidgin is licensed under the GNU GPL which requires any and all changes to the software must also be licensed under the GNU GPL when distributed. So how do you prove that someone took Pidgin's source code and tinkered with it by removing all references to Pidgin when they only released binaries? The answer is Easter Eggs!

Due to their hidden nature, it's unlikely that they get removed when someone is removing references to the program. This allows us to quickly verify that the application in question is in fact Pidgin. There is absolutely no reason why anyone should create the exact same Easter Eggs in their program which helps us meet our burden of proof without having to do anything crazy like verifying binaries or anything like that!

So as you may have guessed, we have Easter Eggs all over the place. They are in the user interface, they're in the core library, and I think there might even be some in the protocols. These are always benign things that we always try to make fun so they're just a little surprise even though they actually serve a very important purprose!

Do you know of any hidden Easter Eggs in Pidgin 2? Feel free to share them in the comments! You can keep how to access them secret and just talk describe them too! Also I may reach out to you because even I don't know all of them and I really should have a full list of them!

I hope you're enjoying these posts! Remember they go live for patrons at 9AM CST on Mondays and go public at 12AM CST on Thursdays! If you'd like to support my work, you can join find a list of ways to do so here.

Top comments (1)

Collapse
 
klutt profile image
klutt

I've never heard about that purpose with easter eggs. Very interesting!