Bylaws of the Open Drupal Guilds (version 0.9)

Concept

The Open Guilds website at http://openguilds.org/ (and its cousin http://drupalguilds.org/ for Drupal) is a central location for grassroots certifications for practitioners of various Open Source software. The idea is that rather than a top-down certification process where people pay money to an organization to take a test, people instead prove to their peers their ability to craft in their field.

The organization of Open Guilds is set up to foster a peer review system. Anyone may create a guild within the organization, and set up their own certification procedures at various levels within the guild. Each guild will stand on its own merit, and gain the benefit of camaraderie from other related guilds.

Each guild within Open Guilds will have its own charter, which will specify, among other things, its system of governance and procedure; and a scope of certification. A charter may, for instance, specify that it is to be run by parliamentary procedure with an elected council, or that it is an open democracy.

The Open Guilds organization itself is run by a council of Vested Members, who are individuals actively involved over a period of time. The meetings themselves are conducted on-line in a visible format, with all matters decided by the majority vote of Vested Members.

Other than the right to vote on procedural matters, membership to Open Guilds is free to all individuals, who may join as Journey Members. Journey Members may join any guild, according to its charter (which may, for instance, require an invitation or approval vote by its council, specific certification within another guild, or other requirements).

A guild may specify many certifications, each of which may have requisite certifications. Although a guild’s charter may specify otherwise, in most cases, a certification will require a test or demonstration of ability to be evaluated by one or more certified members of the guild. The reputation of an individual guild will depend on the continuing diligent and truthful evaluation by the guild members.

Read the Bylaws!

Transcript of the Drupal Guilds Presentation

Here is an idealized transcript of the recent Drupal Dojo session I did regarding the proposed Drupal Guilds, which you can watch here if you didn't catch it earlier:

Also, here are the slides I used during the presentation, which the headers generally refer to, if you want to follow along the text:

Medieval Guilds

My name is Aaron Winborn, and through the Drupal Dojo, I will now present some ideas I’ve had brewing around a concept for a Drupal Guild system for peer-review certifications. You might know me as a developer with Advomatic and contributor to Drupal for nearly five years. You probably don’t realize that I’ve also been involved with the Sudbury model of education for about twelve years, and am currently on the Board of Trustees for my daughter’s school.

First, let’s take a trip back through history.

Feudal Europe 2
Medieval Feudal Europe was not a fun place to live. Despite the image of knights and ladies held in the collective subconscious, everyone was a slave, or serf. All of Europe was parceled up into fiefdoms, where everyone worked to their death on the land. However, by the end of the early middle ages, a few barons came up with the idea of freeing their serfs and charging rent. When others realized they were making easily four times as much by doing this, within a century nearly all serfs had been freed.

The church moved from the center of town to the outskirts, to be replaced by the marketplace, where a new mercantile class sold their wares. Wanting a better life, a large number of them began to educate themselves.

Medieval Guilds 2
Medieval Guilds, deriving from an earlier system of pooling of gold and resources by craftspeople united by craft, quickly rose in prominence throughout Europe. They fostered professionalism with its system of apprenticeship, and the post of Guild Journeymen became the goal for nearly all freemen. This system even survived and thrived in early America, well into the nineteenth century.

Medieval Universities
In the early 11th century, a new type of guild arose, a guild of students, or ‘universitas’. These people met in their homes and churches, pooling together their resources to hire teachers to provide themselves with the best possible education. This system of education became so popular that it attracted the attention of the church and state, who formed competing guilds of teachers, who worked hard to attract paying students.

Modern Universities
Of course, we all know which system survived: by the twelfth century, there were over 100 established universities in Europe. Sanctioned by the state, it became a gatekeeper for the more lucrative professions, such as lawyers and medicine.

Modern Guilds 2
Some guilds have managed to exist into the twenty-first century, particularly in creative arts such as the Screen Actor’s Guild and the Writer’s Guild. Several other systems and organizations resemble modern guilds, such as the Bar Association and many unions.

Modern Guilds 3
I read this morning a paper by a professor at MIT that advocates a return to the medieval guild system, arguing that the twentieth century system of working for the company, with pensions and whatnot, is obsolete. In fact, the modern consultant in many ways resembles the old guild journey member, traveling between clients, working for multiple companies, and sharing their expertise and knowledge with other crafts people.

Professional Certifications
Many developers seek professional certifications, which fall into three categories: Corporate, Proprietary, and Professional. Corporate certifications exist within a single corporation, and are generally non-transferable, but might look good on a resume. Proprietary certifications, or product-specific certifications, are good for a specific software or hardware product, but are also not relevant outside that product. Professional certifications are more general, serving to increase the level of practice, and are generally industry-wide, such as the IEEE Certified Software Development Professional certification. Finally, there are some government mandated and overseen certifications, known as licensures.

Professional Certifications 2
There are hundreds of available software certifications, of dubious quality, most of which are given by the software manufacturer to anyone able to pay a buck and fool the test.

Professional Peer Review
Professional Peer Review is used in place of or to augment the value of testing. It is used in many professions, such as in Health Care, Accounting, Law, Engineering, Aviation, Forest Fire Management, and even Software Development. It has roots in Scholarly Peer Review, used in academia to determine whether an article is worthy of publication. Some criticisms of Peer Review are that it’s subject to gate keeping and elitism, it’s not designed to easily detect fraud, and can be a lengthy and expensive process.

Sudbury Model Schools
Based on the original Sudbury Valley School, Sudbury model schools are democratic, age-mixed, non-coercive environments for children. Part of the model involves certification; students are free to structure their days as they wish, but if they want to use certain equipment (such as a sewing machine, computers, or a dark lab), they must demonstrate proficiency and receive certification. In many of these schools, graduation is also a reflection of this process: students wishing to graduate will create a committee of peers and advisers, who will help guide the student through a portfolio creation, culminating in a defense of their thesis to the entire school body, who will vote on whether to award a diploma.

Free as in Drupal!

Open Guilds
My initial idea for creating the Drupal Guilds (as a subset of Open Guilds) came about during the development of the latest incarnation of DrupalDojo.com. Part of the initial discussions for that site included “learning tracks”, where users could flag their favorite lessons and sessions, forming “playlists” to be shared with others. I realized along the way that this could serve as an excellent form of certification.

For instance, a developer interested in learning how to present multimedia in Drupal could work through all the lessons in a specific track and come out the other end able to put their new-found knowledge to work. It would simply require people putting in the the time to oversee their education and award a certification. Considering that thousands of people already donate hundreds of thousands of hours to development and documentation, it simply requires a framework to funnel some of this expertise into an Open Source University.

Rather than a corporation coming along and offering a $500 certification test, we can create this system in a grassroots fashion, bootstrapping and certifying ourselves. Certifications would be free, with reputations as strong as the developers’ due diligence.

Open Guilds 2
The structure I propose involves allowing any person to join the Open Guilds as an Apprentice. Anyone may also join any individual Guild. Each Guild itself offers its own certifications, which are overseen by Journey Members and Masters, who, after presentations by the Apprentice and discussions, vote on whether to award a certification. The Masters of a Guild are likewise elected within that Guild.

Open Guilds 3
Finally, the creation of new guilds itself follows similar tenets: anyone may propose a new guild charter, which is determined by a majority of Vested Members of the Open Guilds. The proposed charter would state the title and purpose of the guild, as well as (perhaps) its form of governance, such as by democratic vote of all members, or the representative vote of its council of Masters.

Open Guilds 4
Vested Members would be members of the entire organization who have a vested stake (most likely determined by paying dues, and/or by the length of their membership and the frequency of their involvement). However determined, Vested Members would oversee the General Business of the Drupal Guilds and Open Guilds.

(Cross-posted at groups.drupal.org/guilds.)

Drupal Guilds Discussion Today!

Drupal Guilds

This is probably late notice for many of you, but I'm going to give a presentation about Drupal Guilds today (Friday, September 10) at 5 GDT (12 EDT), about an hour and a half from this posting. The presentation will be recorded, along with a slide show, and I'll make sure to post about it again after that if you miss the meeting.

Background: Drupal Guilds, a subset of Open Guilds, is a planned organization to foster a grassroots peer review certification system for crafters of Drupal. With its roots in early medieval guilds, particularly in the universitas, it seeks to help create and foster masters of Open Sourcery.

I've been working on-and-off this concept over the past year, which is a culmination stemming largely from both my work with Open Source Software and with Sudbury model schools over the past twelve years.

Please see my post at Drupal Guilds & Open Guilds for more information. Hope to see you soon!

Edit: Here's an embedded slide show of the presentation; video soon!

The Summer of Drupal Daddy

As KarenS predicted, there have been many Drupal-free nights from me this summer, while my household adjusts to its newest member. Though thanks to Advomatic, my days have continued to be filled with Drupal.

Sabina Rose

For instance, I've been hard at work on Node Reference / Embed Media Browser (nrembrowser), the perhaps unfortunately named, but descriptive, module that does just what it says. I did a session for it in an earlier incarnation at Drupal Dojo, and have banged at it incessantly, until it's now just about ready for prime time! As I said in the session, that project is, I believe, a reasonable alternative for folks who want Media-like functionality for Drupal 6.

What makes it viable is its integration with WYSIWYG and Styles. Styles is a brainstorm I had during the development of Media, in which I tackled how to display wildly differing data (such as photos and videos) with a single field formatter. I've been refining the model in version 2 of the Drupal 6 version, where I've moved it into a class structure and made lots of improvements. Coming soon to Drupal 7...

And then there's Views Slideshow: Galleria, which makes it easy to create a Galleria slideshow in Drupal. And some refactoring of Embedded Media Field, version 3, in which we begin the migration to Drupal 7's Media, and bring some of its magic (of a unified storage system) back to 6...

But what I've been dying to tell you all is about my few, but precious, Drupal nights. Though it's gone from 12 hours or more a week to three, in the wee hours of the morning at that, I've still been banging away. However, I've changed directions entirely, following another passion of mine: games! And no, not playing them, making them... I've said too much already, as it's not quite ready for release. But suffice to say, I think it'll be fun, and of course, it'll be available through the good ol' GPL...

Drupal Dad's Day

Ashlin & Sabina

Father's Day is on June 20. Of course, with a second precious daughter in my life, this day will have even more meaning for me. Gwen recently asked me what I would like, which is always (for me) a difficult question to answer. So I gave it some thought, and came up with a list. In retrospect, I realized it all had to do with my endless pursuit of Drupal, so I thought I'd share that here for other Drupal Dads and their families to contemplate...

Diver's Slate

A diver's slate - What does that have to do with Drupal, you ask? Well, some of my best ideas come when I'm in the shower. Many of those have been lost forever, because I often promptly forget them by the time I've dried off. This particular gadget has an "infinite scroll", and (presumably with a USB connection) allows its entries to be scanned into a computer later. And if you get your best ideas when diving, its "phosphorescent writing surface illuminates notes during night dives".

Laptop glare guard

Laptop glare guard - This one is obvious. Would go great with a coupon for lunch at your favorite wireless hotspot...

Drupal Dojo on Second Monitor

A second montor (albeit a pricey gift) would help with any serious Drupaler's efficiency.

As I sit here in the wee hours of the morning composing this post with Sabina, hoping that 8Tracks will help her sleep, I'm also thinking a white noise generator might be a fantastic gift for new dads. I know we could have used one this month...

Though I have a full Drupal library, I need to finally list the obvious gift for Drupal Dads who might not have read some of the best Drupal books:

Pro Drupal Development

Using Drupal

and, of course,

Drupal Multimedia

What other ideas do you have for the perfect Drupal Dad's Day gift?

The Reason No Drupal from me Recently...

Sabina Rose

Sabina Rose
May 22, 2010
2:28 AM
8 lbs, 2 oz

How to Handle Large File Uploads?

I'm actually posting this as a question. If you're looking for the answer, sorry I don't have it yet.

How can we reasonably handle large file uploads? I'm talking in the >100MB range; YouTube, for instance, now supports 2GB files, and this will become increasingly the norm. I don't think that most servers are up to that yet, particularly if you need an application to scale.

Elephant on a Bike

Currently, using PHP, you need to set memory_limit to more than twice the upload_max_filesize, which as you can see would be prohibitive in the example of 2GB uploads; you'd need to set your PHP memory to >4GB (adding the buffer of 64M or whatever you need to run Drupal). EDIT: Looks like I was incorrect in my assumption; if you're not going to process the file, you don't need a huge memory footprint just to handle the raw uploads. Thanks Nate and Jamie!

Even if you manage to have that kind of resource available, you can probably expect things to splode with concurrent uploads...

So I spent some time yesterday looking at SWFUpload yesterday (module here), as I'd misunderstood its claims. Yes, it handles large file uploads (from the browser's standpoint), but you still need to set PHP memory accordingly. Not suitable for what I'm looking for, but it is a really nice way to handle multiple uploads. WARNING: I also learned from experience and much head-scratching that it doesn't work if you have Apache authentication on your server...

Now I'm looking at node.js as a possibility. This looks really great, and might do the job. Basically, it's a JavaScript application that sits on your server. Yes, you heard that right. Turns out that as JS has evolved, it's turned into a really tight language, and should be quite suitable for concurrent tasks.

Sorry if you came to this post looking for answers; I've simply postulated more questions. But I'm hoping that someone with more experience with this issue might be able to comment, and we'll all benefit from it. Additionally, this might turn out to be a handy addition to the Media suite, perhaps as a fancy stream wrapper for handling large files? And I'll definitely follow-up when I figure out how best to tackle this.

Thanks,
Aaron

Media DX Summit 2010

MDX 2010 FTW!

With a Drupal Beta planned for May 21, the time is coming for a Media Beta as well! Before we can do that, however, there are a few loose ends to tie up. I've identified two critical pieces for a happy Developer's eXperience (DX) before I'll be happy doing that. There are certainly more: see the Media issue queue for more.

MetaData Handling

The Media module creates Media entity objects, which are fieldable. That means we can already attach any fields or taxonomy to any media object, which goes a long way towards handling metadata. However, Media metadata needs are variable and complex. For instance, a field might be fine for adding a taxonomy vocabulary for Video genre or Bird species, but you would need something better if you want to automatically add video duration, YouTube categories, or grab a music file's getID3 data. Basically, we need a larger discussion of what's necessary, what's possible, and how we get there. See this Media metadata issue for more background.

Display Formatting

Currently, we're using the Styles module to power display formatting. We may or may not continue using that. In any case, we'll need to ensure the formatters more closely follow Media Types, and we'll need to offer a pluggable UI for changing formatter style presets, similar to Image Styles (Imagecache in core, for those not yet familiar).

Media DX Summit 2010?

I'd love to lock up some fellow developers for a couple of days in a room to bang on these ideas. At the same time, my partner Gwen is due on May 22 for our second child, so firstly, I can't really travel any time in the foreseeable future, and secondly, even if we had a summit here in Harrisburg, it would either have to be like this week, or in mid-summer. Considering the deadlines involved for this, we need to get cranking. Thus, the summit I would love to see happen will probably either have to happen remotely, or perhaps without my involvement. :(

Anything Else?

Are there any other issues you would suggest to be critical beta-blockers? Do you have any thoughts to add to the issues I've suggested? Please add to this thread!

Thanks,
Aaron Winborn

(Cross-posted at g.d.o.)

XMPP and Drupal developers' round table

It's at http://groups.drupal.org/node/58198 if you're interested in learning more about the future of XMPP integration with Drupal. The event will be on Friday, March 26, at 12PM EST (17:00 CET).

Kristof wrote:

Recently a lot of people started are working concurrently on XMPP and Drupal integration. So I thought it would be a good idea to share our ideas so we can work on top of a common platform.

We are going to have the meeting on Dimdim. You can join the event at http://my.dimdim.com/all/openlearninglabs/default/

Avoiding the One Month No-Blog-Post Anniversary Blog Post

Inspired by the State of Rob Loach Address, I decided I don't particularly want to let a year go by without blogging, especially considering I don't have the excuse that I'm micro-blogging. So without further ado, here's what I've been up to this month: cat nap
  • Media module, of course. Though I'm not in the swing I was in January. I've worked some on an experimental browser that allows more FAPI magic than the current one that's a Javascript framework (which is thus largely inaccessible to many Drupal developers, though comes with its own advantages). Other than that, it's just been some code clean up.
  • Embedded Media Field now supports RTMP streaming servers. Also, Media: YouTube has been ripped from the dev-2 version of it, and now supports iPhone. (I can't really take credit for either of these new features, other than for committing the patches, but it makes it look like I've actually been working...)
  • I started a new blog. Well, it's in its conceptual and wireframe stages still, so no announcement yet... Has to do with raising children to be entrepreneurs. We'll see...
  • Been working on some game stuff, with the new Game Utilities: Quest module, which uses a sound PHP object framework to expose quests to characters.
  • XMPP! This is awesome! Through work at Advomatic, I've set up an XMPP server and am working on a fancy Drupalized/themeable client. Post soon!
OK, that's all for now. Time to wake up Ashlin!
Syndicate content

The Society for Venturism has chosen me as the recipient of its charity for this year, to hopefully offer me cryonic preservation when the time comes. And this month, Longecity, an excellent forum for the discussion of issues related to extending the lifespan of humans, has offered up a matching grant of up to a thousand dollars to help out! So help out! Please.