What is Open Source?
Open source software is software with source code that anyone can inspect, modify, and enhance. “Source code” is the part of software that most computer users don’t ever see; it’s the code computer programmers can manipulate to change how a piece of software—a “program” or “application”—works.
I participate in a number of free and open source software projects. You can find most of them listed on my GitHub account.
Type::Tiny is a small Perl class for writing type constraints, inspired by Moose’s type constraint API and MooseX::Types. It has only one non-core dependency (and even that is simply a module that was previously distributed as part of Type::Tiny but has since been spun off), and can be used with Moose, Mouse, or Moo (or none of the above).
Type::Tiny is used by over 800 Perl distributions on the CPAN (Comprehensive Perl Archive Network) and can be considered a stable and mature framework for efficiently and reliably enforcing data types.
Type::Tiny is bundled with Type::Library a framework for organizing type constraints into collections. Also bundled is Types::Standard, a Moose-inspired library of useful type constraints. Type::Params is also provided, to allow very fast checking and coercion of function and method parameters.
Zydeco is a Perl module to jazz up your object-oriented programming. It fuses together:
- Classes, roles, and interfaces, including parameterizable classes and roles (a.k.a. class generators and role generators).
- Factories to help your objects make other objects.
- Powerful and concise attribute definitions.
- Methods with signatures, type constraints, and coercion.
- Method modifiers to easily wrap or override inherited methods.
- Powerful delegation features.
- True private methods and attributes.
- Syntactic sugar as sweet as pecan pie.
Zydeco is a Perl extension that adds cute syntax for object-oriented programming, and tries to steer you towards (what I consider) best practice design.