Shared publicly  - 
 
If you would like to be part of Make Your Laws team (and be able to participate in internal discussions), please

1. Be sure to add +Make Your Laws first to your own circles (as it cannot circle you unless you circle it first — this is a restriction of Pages accounts).

2. Leave a comment/introduction on this post saying
a) what particular skills / interests you bring
b) the level of participation you expect to be able to contribute

It needn't be super formal (this isn't an interview) and it's not a promise (you can always contribute as much or as little as you like). It just helps us (including you!) know what members' perspectives are, and when we should particularly ask you to help out on things that are relevant to your interests/skills.


Designers & coders:

Make a github account and fork https://github.com/MakeYourLaws/MakeYourLaws.

Review and sign the copyright assignment agreement located in doc/legal (please read the instructions).

Note that the agreement licenses back to you full rights to use your own contributions however you like, and that the project itself is liberally licensed under the AGPL. The assignment simply ensures that the ownership is not ambiguous, which prevents a large number of potential legal hassles for MYL as an organization down the road.


Coders: First, get MYL running on your local machine. Make commits to your local repository fork until you have a changeset that appears to be fully working for you. Summarize your changes, crediting anyone who contributed ideas, at /doc/changelog.txt.

Send a pull request via github to the main repository; it'll be reviewed, modified if needed, and merged.

Designers: Grab a copy of http://balsamiq.com/download and play with it. +Balsamiq has granted us a free group license; email +Sai if you run out of the demo period and you'll get one.

Just save your design mocks under /doc/mocks and send a pull request.


Thanks, and welcome!
2
1
Andreas Stassivik's profile photobenjamin barber's profile photoLiz Fong-Jones's profile photoJason Nichols's profile photo
53 comments
 
My main skills right now are PHP and MySQL. I'm heavily into MediaWiki hacking. I am 99% (so to speak) of the contents of issuepedia.org and htyp.org (both are MediaWiki sites), and I have been working for some time on InstaGov, a project with similar goals to Make Your Laws -- see http://issuepedia.org/InstaGov

In the past, I would have added "all my coding skills were learned by doing, not through formal education, so I can quickly pick up any new language/platform", but this requires sustained focus-time (see next paragraph) so right now it would probably be too big a learning curve to get over (picture driving a large moving van under a short bridge)... which is not to write the idea off completely; that's just how it looks right now. Past languages include Object Pascal, C++, and Visual Basic 6.

Participation: I'm beginning to wonder how effective I'm going to be able to be, since my focus-time is extremely limited at the moment. That said, I still seem to be good at conceptual work, and the focus-time problem may be solvable (are there any ADD coping/strategy groups on G+?). I have one other ongoing/sporadic by-the-hour programming gig, an online store I am trying to bang back into shape, and occasional (but sometimes very intense) local tech support duties -- so those are the other draws on my focus-time. (Most of the rest is household/kidmaintenance stuff.)

My political positions are posted here: http://issuepedia.org/User:Woozle/positions - these are updated periodically. Discussion is welcome.

I agree that MYL's design should be ideology-agnostic except to the extent that ideology precludes the examination of evidence and questioning of authority; I don't think we can more forward while still allowing those positions to dominate. I also don't believe in refraining from calling an idea stupid, no matter how dearly someone holds it. It's not ok to attack people (physically or ad hominem ), but ideas are fair game.
 
We will inevitably run into certain ideological elements that are firmly against the idea of evidence examination and rational thought taking precedence over established authority. Most of the time this opposition will be covert and will not make that argument openly, but we should be prepared for attacks ultimately based on the idea that advocacy of evidence-based rational thinking is inherently ideological, partisan, and/or harmful to society.
 
2a) Diverse skills. Programming. Learning any new languages, frameworks or libraries that I need quickly. I prefer to work on high abstraction layers (Prefer Python or Java over assembler or C).

2b) Right now I am mostly observing, thinking and commenting.
In the future, as the project takes shape, I am considering more active and productive participation.

Also interested in other e-democracy systems.

Main reason for my interest is the idea that politics is one of the most important aspects of mass-communication and the Internet is the best place for mass-communication.
 
Primarily interested in discussions, Google owns any code I would produce with fairly high probability. Familiar with Helios and interested in bringing my expertise in that to the table. Also interested in accessibility and protection of minority rights and social justice.
 
Umm, I'm no expert like you folk. In either computer languages nor business running, nor marketing. Though I've built all my own web pages and that includes an eCommerce website (OSCommerce, VPS, PhP etc). Currently fiddling with a headless CentOS server, trying to serve out several domains through 1 IP. Webmin or Kloxo? I guess you could call me somewhat of a hack.

I guess my experience as a student rep way back in the 90's when I was a postgrad student might give me some perspectives on social, political and justice issues.

I've picked tomato's, washed dishes, swept factory floors, drove taxis, and had a newspaper round. So I guess I could still be relied upon to wash MYL's dishes maybe?
 
You can do mine so I can program... or maybe you could diagnose the problems with my Postfix setup, and I'll do your dishes! :D (Unfortunately, I lack a suitable wardrobe for commuting to your neck of the woods.)
 
It's summer here so not much garb is needed. Though tbh it's been a wet start.

Just pile your dishes on top of mine and I'll do 'em when I get a round toit. Usually twice a month ;)
 
Between the two of us, we might be able to get them done every week ! That would be COOL.

I take it you've been able to keep the White Witch out, then? Good show.
 
White witch of Narnia? ;)

It occasionally snows on the hills. And even in the summer we may get surprise pelted by hail :)
 
I can imagine a few possibilities for my early roles. I can work with community relations (forums, social networking), tech support (for the upcoming software), software usability and quality assurance (Windows, Linux, Android), project and information management (organizational development, human resources, onboarding), multilingual writing (website and wiki articles). I also have a domain name and Linux webspace and the ability to perform video conferences/hangouts on my phone and laptop.

Skill summary:
I'm fluent in English and Norwegian. I have work experience in hospitality and office management, and I have special leadership training that was offered to me as an appointed technology coordinator on my college's student association. I am well-versed (but no means an expert) in MediaWiki, web design, database design, and a plethora of community-based web apps. I'm a life-long autodidact obsessed with learning by designing, tweaking, and validation by mentors and peers (who I also view as teachers).
More at LinkedIn: [ http://www.linkedin.com/in/hxstassi ]

Current and future plans:
I recently acquired an Associate of Arts and Sciences degree. Now I am learning Python, Django, Ruby on Rails, contemporary web design and revision control. I'm also passionate about designing information systems from a user experience perspective (UXD) and have a plan to return to Norway to complete a Bachelor of Informatics degree (once sufficiently funded, so I am currently seeking employment in the greater Seattle area).

Details on background & project-specific motivation:
This is the kind of project I've been looking forward to as long as I've had functional knowledge of the American political system. My experiences living in Norway and the United States has given me unique perspectives on humanity, ethics, and the role of government in society. As someone who intrinsically sees possibilities, I have felt the necessity for positive reform without understanding how to achieve it until I was introduced to the project by +Sai . and his colleagues.

I'm excited to meet everyone here. The amount of talent you exhibit is truly inspirational. As I've said before to certain mononymous individuals who shall not be named, your ideas are intriguing to me and I wish to subscribe to your newsletter.
 
+Kevin Ruby Do you have any particular suggestions for how to handle advertising? Consider for instance that right now we need to advertise for participation in creating the platform itself, setting up branding related issues (logo, etc), and explaining really well what exactly we're doing any how we respond to the usual objections / concerns.

Longer distance, i.e. once the platform is actually ready for it, we'll need to recruit all kinds of political groups to come to the platform to participate. Ideas?

+Andreas Stassivik What languages can you translate to/from — just English/Norwegian? One thing that would be good to do is to translate the copy on the placeholder site. (We should probably also create something to easily Google translate everything as a placeholder for better manual translation.)

Re design, probably the best thing you could do right now would be to go through the conversations on BetterMeans, and extract them into a design document — plus extracting common concerns we'll want to address publicly, design issues that are unresolved, etc.

You'll find during doing so what the outstanding design issues are. It'd be good for you to collaborate w/ +Daniel Ely Rankin & +Sai . to create mockups of our intended UI.


Also of course, these are just suggestions. Especially in the early stage, all of you should take the mindset of proactively figuring out what you could do to improve the project, consult with the team about any concerns in it (especially +Sai . who is at least for the moment the main steward/coordinator for the "spirit" of the project), and just do it. ;-)
 
Further, design folk: please contact http://occupydesign.org/guide/for-occupiers/ — they're potentially interested in contributing. (Mind of course that MYL is not Occupy affiliated — we're strictly nonpartisan — but we overlap a great deal with their goals as regard governmental change.)
 
+Make Your Laws I can translate to/from English and Norwegian and would be comfortable translating Swedish and Danish due to their similarities to Norwegian. I could also expand that list to Icelandic and maybe Finnish, but that's where my confidence drops.

Edit: Just downloaded Balsamiq Mockups and am currently learning the controls. I'll be fiddling with it on-and-off during this busy holiday weekend but will direct more attention during the following week. Going to take your design suggestion and collaborate with them directly.
 
Before drafting a Norwegian translation of the placeholder site, I would like to know which context to frame the document in. The organization's placeholder site seems to be currently directed towards the American government, but I can easily see the organization having an international message (edit: confirmed by the stated mission on the About page). So who is my target audience, Norwegian-speakers active in US politics, or Norwegian-speakers active in Norwegian or global politics? The reason I ask is because the English document is currently written in terms that are US-specific.

Also, since this thread is starting to veer off from the original subject, should we either move our internal conversations elsewhere or continue?
 
I believe the project was started with the intention of being global in scope.

Any US-centricity in existing docs is probably because that's what the author was familiar with; if you can internationalize that or introduce examples from other countries, that would be great too.
 
Hi Everyone,

My skills are in web development (Ruby/Rails, MySQL) so I would be interested in working on building out the site functionality. I've worked on a few projects that have commonalities. Most recently http://citizenfactory.com/, and my full time work is in a similar realm, so I'm fairly familiar with government data (US & Canadian).

In terms of participation, I'm hoping to be able to put in a few hours each week, possibly a bit more at the beginning if help is needed to get things set up.
 
a) what particular skills / interests you bring
A community campaigner, advocate for electoral reform and reduced democratic deficit and holder of low level public office.
b) the level of participation you expect to be able to contributeSporadic, due to the nature of my work HTH
 
My interests are very diverse, but broadly speaking they focus on people having the information they need to make informed decisions. Historically, this has focused more on the public health side of things, but civic engagement is a very important part of my life. Politically, I'm a liberal independent but think that tools are best when apolitical.

I'd love to contribute to the user interface design, have discussions, and make graphics as needed. I've done a fair bit of front-end development, but don't know enough ruby to be able to commit to hacking the app. Flow/ux is important to me, but not sure where MYL presently stands on that front. This should be fun :-D
 
+Sai Will do. Actually, I don't have a code for Balsamiq, though it looks pretty awesome.
 
Hi there. I have been thinking about concepts very similar to Make Your Laws, and have even quit my job to work on a prototype.

What I can bring: technology-wise, I'm a full-stack programmer, who's worked on large scale web properties. I have worked at Google, Upcoming.org, Flickr, and the Wikimedia Foundation (publishers of Wikipedia). That last gig has especially helped me understand what a truly bottom-up, community-driven legislative process might look like.

Other stuff -- I have a fair amount of visual design chops (my degree is actually in media studies) and I've worked on software internationalization.

At this time I'm still focused on documenting and prototyping the ideas buzzing around in my brain, which are a bit different from what Sai's proposed, but I'd be happy to work with a larger community.
 
Thought I had opted in before, guess not. Definitely interested in helping.
 
Just wanted to show my support and say hey, this sounds cool! :) I don't know how much I can actually help, but I have a little experience with PHP/MySQL, front end dev, a little designy stuff, and of course making videos. :)
 
+Liz Krane Have a chat w/ +Jason Nichols about making an OpenID input helper as an easy first thing to work on, and try getting the app running locally.
 
K, I'll check back on this when I'm done with my final projects for school. :)
 
A) Not much in the way of skills, for the time being. My interests mostly revolve around reform, especially with regard to electoral methods and taxes. Ideologically, I'm liberal at the state level, but libertarian at the federal level, due to perceived weaknesses of centralized government.

B) Participation will probably be minimal. Transferable proxies are an interesting idea, but I'm not a very active person, and I don't have much to contribute at any rate.
 
Will come back to give a full low-down later, but my background is in Biochemistry, but I've moved into web development first with #drupal . From there, I've ended up working almost exclusively with Opscode Chef, Vagrant, and lots of #devops -y tools (with lots of interest and investment in learning #continuousdelivery practices.

https://github.com/patcon
 
php/mysql/drupal developer willing to work on it with you, have been somewhat active in the political space as well, and know a fairly good amount about public policy and communications.
 
it looks like this is outside of my proficiency, I'm great with PHP/drupal, proficient with pyhon and java, and crusty with C/C++/perl. As per ruby/rails, I was given a demonstration on it, and never really cared about/to use it.

I'm assuming that the idea is to make a stand alone system, instead of making extensions to a CMS? I'm still reading through your site, and will get to more technical details soon, but does it appear as if I will be useful in a technical capacity? I can be useful in non technical capacities as well, but those dont appear to be needed for some time.
 
From my perspective, it's useful to create implementations of these tools for any and every platform (including CMSs). I don't think this is part of MYL's core vision, but it's consistent with MYL's goals.
 
Sure, but i was asking if my skills are very useful given the current dev process.
 
I am great with html/js/css, but purists might scoff that I use Jquery instead of vanilla JS. 

+Sai In my experience CMS modules are preferable when you want wide adoption, and save some "re-inventing the wheel" costs in exchange for a very specific coding standard.

Re: ruby the last time i looked at it was a couple years ago, and it never seemed to have the power and speed of python (and libraries), and seemed to be a tool for quick, dirty development (rails). I feel like there are too many languages, and ruby was just another "me too" language at the time. As soon as my presenter started telling us how much he loved object relationship mapping, I started to roll my eyes and stopped taking him seriously. 
 
 
ORM doesn't remove the fact that there is a real database, and facilitates horrible coding and slow database retrieval. Sure for a small project its fine, but it is horrible for anything that needs to scale. 

A blog for candidates is fine and simple/straightforward to add in,  though i would suggest candidates check out drupal commons, and using horde groupware for back office. I can't emphasize enough the need for candidates to have organizing, fundraising, media tools, unless they are in very small races of course.

To me drupal (now on symfony) is the swiss army knife of CMS's, and if i dont want the shackles of a CMS/framework combo, I prefer the swiss army knife of languages - Python. 
 
+Sai _"I don't think making a CMS is something we have need to do."_ -- I wasn't suggesting building our own CMS. I was suggesting that implementing some of our tools as plug-ins for existing CMSs would be consistent with our goals. This is something I plan to do anyway.
 
Drupal and MediaWiki, for example, are both CMSs, and both support plug-ins.

I'm thinking that a plugin to allow, say, members of an activism forum to vote on member-originated proposals could be very useful. Another plugin to allow structured debate on the issues at hand would help resolve any disputes.
 
I see support for "auxiliary" code like this as icing on the cake -- not an obligation, and possibly an opportunity.

It's more important to get the functionality out there, so people will be using it and will become used to the idea of being able to vote and debate sanely. That is the way to make the deep structural changes in our culture that are necessary in order to reverse the tide of anti-democratic policy.

If people are using the code enough to need a substantial amount of support, community will form to help support it. This is how most of the major open-source CMSs handle support, as I understand it.

We can facilitate the formation of such communities with very little up-front expense (mostly time/energy), and it will pay for itself in terms of publicity and kudos (and possibly donations).
 
have any of you had any experience with the couchDB document database? it seems like it should be fairly platform agnostic, and can be called directly from javascript. 
 
My (rudimentary) understanding is that couchdb has password and cookie authentication, and designed to allow to hold application logic like for example sanitation, and leave the rendering up to the whatever end point a person decides. So in that way you can access the same functions across multiple platforms, including RoR, whatever CMS, or plain ol' HTML/CSS
 
The idea is that Couch DB is both a DB and a web server (couch app) capable of application logic, one that uses html/css/javascript as server side code , and has a security model for external javascript to communicate with your "couchapp" application logic.  So in that way the API can be designed through Couch DB/APP, and rendered in either a CouchApp or RoR/html/whatever else.

http://www.ibm.com/developerworks/opensource/tutorials/os-couchapp/
 
Here is a Copy + Paste

First of all, I should say that 80% of CouchDB users are not building CouchApps, they are building "normal" 3-tier Rails, Django, Java, .Net webapps, using CouchDB as the database.

CouchApp is really a side-effect of CouchDB's awesomeness (eg CouchDB already has HTTP capabilities and a user and role based security model.)

There are three distinct concerns here -- security, scalability, and ease of development.

Security: The CouchDB security model provides read-access control a per-database basis. If you have a requirement that documents need to be mixed in a database, but only readable by some users, you might have an easier time sticking to a 3-tier stack with CouchDB as the database. However, in raw CouchApp, you'd fix this problem by creating a database-per-user, and put the user's private data in their private database.

Scalability: This is where CouchApp shines the most. CouchDB itself has been proven to scale up to whatever anyone has thrown at it. There are multiple choices for CouchDB clustering, all of which can work with CouchApp. By sticking to raw CouchApp, you can be relatively assured that your application won't need rewriting as it grows from hobby-project, to supporting millions of users a day. A middle-tier layer can potentially be a scale bottleneck, compared to CouchDB. CouchApp avoids that. (Note that _show and _list functions will require a caching layer in order to support heavy traffic -- luckily there are lots of good HTTP caches out there.)

Ease of Development: this is the hardest one to answer, as it comes down to personal preference. The big appeal of CouchApp to front-end developers, is that now they can create fully database-backed dynamic web applications without having to think about the server. No need to ask the backend devs for a new API endpoint, new database table, or whatever. You already have a full featured API and you can just focus on your app.

The flipside of this, is that when you do need to do something outside of the basic CouchDB API (say, resizing images) you'll need to implement it as an asynchronous worker. This is definitely harder than just doing it in your Rails app. However, everyone who ever did image-resizing in their Rails app eventually had to rewrite it as an async worker process anyway. So the constraint CouchDB has (that non-CRUD or query operations aren't it's job) actually forces you into a more scalable architecture.

CouchApp is not a silver bullet, but it sits in a decent sweet spot. I am especially inspired by the new http://skechers.com website (even though it's not the biggest scale of our users).

It is a hybrid Java web app (using CouchDB as the database) with a few CouchApp requests (they have a few queries which are proxied directly to the CouchDB instance, without Java sitting in the middle).
 
I'm not an expert in ROR so i cant attest to it, but almost everyone is familiar with javascript, making it easy for many to contribute. That and it scales so wonderfully.
 
I'll be providing some client side stuff after this months billables, because money keeps the world going round after all. Couch does also has MVC capablities, should a person want to use them, though it may not have as many great libraries aside from the helper based linux based ones, but I have not looked at all of them yet. 
 
Hi, I'm Jeremy. I went to school to learn Political Science and Philosophy, and for 20 years I have been searching for a solution to the problem of conflicts of interest of intermediaries in Democracy. Along the way, I've become quite good at unix system administration and comfortable with the many technologies comprising a modern unix system, including programming. The unix philosophy has greatly influenced my ideas about political systems, and I have lots of theoretical ideas to help understand how we might implement direct democracy to overcome pitfalls of existing systems.

Oyeah, I'm a Python guy, and I've spent some time with Zope and Plone (monstrous beasts of CMS).
 
Hmm, you should... have you verified your email address?
 
By default, individual pages can be locked to admins only. There's an extension that locks entire namespaces; shall I install that?

Bear in mind that the editing history for any page is always available. We could put something in the legal disclaimer (linked at the bottom of every page) saying that no statement should be taken as official unless the last edit was made by an administrator, with a link to the administrators list page (yes, there is one).

We could also list/link pages and/or namespaces that represent official statements, and explicitly state that no other pages should be take as official.
 
That'll work. I'll get to that next time I'm working on the wiki.
Add a comment...