What if you could write a piece of code today that could be read, understood, and executed thousands of years in the future? Imagine the GitHub requests from the year 4018 for something you wrote today! Well, the knitting world is doing just that, using code (i.e., knitting patterns) written hundreds of years ago that can still be executed today.
This year's Southeast LinuxFest will include a fiber arts track in addition to all the other events and goings-on. The knitting community is an interesting one to compare to the open source software community, and this is the subject of a talk, "K2P1, or "How Your Programming Language Evolved from Knitting."
Where it all began
If you're into movies, you know that Benedict Cumberbatch invented modern computers, but in reality, some of the first programming came from weaving looms. And before Alan Turing's time, knitters developed symbolic language representations to produce repeatable results that could be performed by others. Our Southeast LinuxFest talk covers the odd history of knitting, how constructs found in knitting are found in programming and the parallels between the knitting community experience and open source communities.
A brief history of knitting
Knitting is all about combinations of knit and purl (not Perl) stitches repeatedly iterated with variations to produce an output. A symbolic language is used to create and produce patterns. The first knitting was done long ago (the exact origins are lost), but it became popular when wearing the skins of dead animals proved insufficient for user needs.
How does this relate to software development? Well, you probably do not write in an assembler language. You probably program using a language made up of symbols or keywords to produce a (hopefully) desired output. Knitting patterns use symbols to designate what operations are performed to produce an output. And like assembly language, the operands are pushed or popped onto needles while being executed.
The fiber arts community's home
The knitting community's locus is a website named Ravelry.com. Gentoo Linux, MySQL, Ruby on Rails are the core components of this very heavily used website which has over 7 million active users. The site's main features are patterns, creations, discussions, marketplaces, places to catalog yarn stocks on hand (colloquially called a stash), and an area to store favorite patterns. Members knit, weave, spin, crochet, tat, or enjoy many other activities included on Ravelry.com, and the site highly encourages access to designers to ask questions or show off finished projects.
Local user groups, known as "stitch and bitch," flourish around the world. Members gather to learn, demonstrate new projects, discuss techniques, and have fellowship. There are also podcasts, designer blogs, tutorials, and products for sale online with social media ties that keep the community connected.
Beta testing sweaters?
Developing a new pattern has several analogs to the software development cycle. The new pattern is developed, documented, and provided to others to test. This testing includes making items in bigger or smaller sizes than the original to ensure adequate scaling. Then the pattern is sent to a technical editor for further testing, and professional images are taken of the project. Finally, the pattern is made available on Ravelry.com as a PDF for sale for a modest price. The development cost of a new sweater pattern is often around $1,000, and the sales price helps recoup those costs. Old or untested patterns are often available for free.
What the open source world can learn from the knitting world (again)
Ravelry.com has united the international fiber world. Independent yarn dyers have blossomed in the last several years. Consultants and instructors have developed far-reaching audiences. Many activities have gone from small cottage industries to international initiatives where personalities draw audiences to conferences, festivals, or local shops. The shawls knitted by your grandmother are not the same as the ones created today by independent designers, which feature lace sections, cutting-edge techniques, and innovative combinations that make them wearable art. For many, Ravelry.com is a major social link to a worldwide community of others with the same passion.
There is an unwritten code of ethics to respect the arts of others and to encourage new and intermediate fiber artists to achieve greater heights. The community at large quickly curtails those overstepping their bounds on social media.
And anyone young, old, or in between that expresses an interested in learning fiber arts skills is quickly aided, encouraged, and coached.
Dave Stokes and Carrie Stokes will talk more about the links between knitting and programming at Southeast LinuxFest, June 8-10, in Charlotte, N.C.