
﻿ Hi , my name is Marcin -- farmer , technologist . I was born in Poland , now in the U. S. I started a group called Open Source Ecology . We 've identified the 50 most important machines that we think it takes for modern life to exist -- things from tractors , bread ovens , circuit makers . Then we set out to create an open source , DIY , do it yourself version that anyone can build and maintain at a fraction of the cost . We call this the Global Village Construction Set . So let me tell you a story . So I finished my 20s with a Ph. D. in fusion energy , and I discovered I was useless . I had no practical skills . The world presented me with options , and I took them . I guess you can call it the consumer lifestyle . So I started a farm in Missouri and learned about the economics of farming . I bought a tractor -- then it broke . I paid to get it repaired -- then it broke again . Then pretty soon I was broke too . I realized that the truly appropriate , low-cost tools that I needed to start a sustainable farm and settlement just did n't exist yet . I needed tools that were robust , modular , highly efficient and optimized , low-cost , made from local and recycled materials that would last a lifetime , not designed for obsolescence . I found that I would have to build them myself . So I did just that . And I tested them . And I found that industrial productivity can be achieved on a small scale . So then I published the 3D designs , schematics , instructional videos and budgets on a wiki . Then contributors from all over the world began showing up , prototyping new machines during dedicated project visits . So far , we have prototyped eight of the 50 machines . And now the project is beginning to grow on its own . We know that open source has succeeded with tools for managing knowledge and creativity . And the same is starting to happen with hardware too . We 're focusing on hardware because it is hardware that can change people 's lives in such tangible material ways . If we can lower the barriers to farming , building , manufacturing , then we can unleash just massive amounts of human potential . That 's not only in the developing world . Our tools are being made for the American farmer , builder , entrepreneur , maker . We 've seen lots of excitement from these people , who can now start a construction business , parts manufacturing , organic CSA or just selling power back to the grid . Our goal is a repository of published designs so clear , so complete , that a single burned DVD is effectively a civilization starter kit . I 've planted a hundred trees in a day . I 've pressed 5,000 bricks in one day from the dirt beneath my feet and built a tractor in six days. From what I 've seen , this is only the beginning . If this idea is truly sound , then the implications are significant . A greater distribution of the means of production , environmentally sound supply chains , and a newly-relevant DIY maker culture can hope to transcend artificial scarcity . We 're exploring the limits of what we all can do to make a better world with open hardware technology . Thank you . ( Applause ) 