Skip to content

Google Summer Of Code 2014 Checkstyle Registration Info

Roman Ivanov edited this page Mar 1, 2014 · 23 revisions

================================ Organization Profile =======================

* fields required

Organization ID *

checkstyle

Organization ID is used as part of various URL links throughout the site. You may reuse the same id for different years of the program. ASCII alphanumeric characters, digits, and underscores only.

Organization name *

Checkstyle

Complete, formal name of the organization.

Description *

Checkstyle is a development tool that help programmers to write coherent Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes Checkstyle ideal for projects that want to enforce a coding standard.

Checkstyle is highly configurable and can be made to support almost any coding standard, for example "Sun Code Conventions".

Checkstyle can check many aspects of your source code. Historically its main functionality was to check code layout issues, but since the internal architecture was changed, more and more checks for other purposes have been added. Now Checkstyle provides checks that find class design problems or detect negligence of engineering best practices.

Description of the organization to be displayed on a public profile page.

Tags

java, static code analyse, checkstyle

Comma separated list of organization tags. Each tag must be shorter than 30 characters.

Main license*

GNU Library or "Lesser" General Public License version 2.0 (LGPLv2)

The main license which is used by this organization.

Logo URL

https://0.gravatar.com/avatar/b9230a2c439de7ab51223bd2e6ccffcd?d=https%3A%2F%2Fidenticons.github.com%2Fb112efc5b97b58d17fbcdd65e6a487f6.png&r=x&s=64

URL to the logo of the organization. Please ensure that the provided image is smaller than 65px65px.

Ideas list *

https://github.com/checkstyle/checkstyle/wiki/Checkstyle-GSoC-2014-Project-Ideas

The URL to a page with list of ideas for projects for this organization.This is the most important part of your application. You can read about ideas lists on the FAQs

Mailing list

https://groups.google.com/forum/#!forum/checkstyle-devel

Mailing list email address, URL to sign-up page, etc.

Organization website *

http://checkstyle.sourceforge.net/

Main website of the organization.

IRC Channel

http://webchat.freenode.net/?channels=#sevntu.checkstyle

Public IRC channel which may be used to get in touch with developers.

Feed URL

https://sourceforge.net/p/checkstyle/news/feed

The URL should be a valid ATOM or RSS feed. Feed entries are shown on the organization home page in Melange.

Google+ URL

URL to the Google+ page of the organization.

Twitter URL

URL of the Twitter page of the organization.

Blog page

URL to the blog page of the organization.

Facebook URL

URL to the Facebook page of the organization.

Veteran organization

Check this field if the organization has participated in a previous instance of the program.

Backup administrator*

alezandr

*Username of the user who will also serve as administrator for this organization. Please note that the user must have created a profile for the current program in order to be eligible. The organization will be allowed to assign more administrators upon acceptance into the program.

I hereby declare that the applying organization is not located in any of the countries which are not eligible to participate in the program: Iran, Syria, Cuba, Sudan, North Korea and Myanmar (Burma).*

Checkbox selected

===================================== Questionnaire application ===========================

* fields required

Why is your organization applying to participate in Google Summer of Code 2014? What do you hope to gain by participating?*

Our main goal is to involve students in development of Open Source, show them that the best approach to gain deep knowledge of programming language is by participating in development of static code analysis. We aim to instill habit to write ease-to-read code by sharing knowledge of best practices in software development while investigating Checkstyle's validations and extending Checkstyle with new modules that catch bad practices.

Previously our team has had difficulty keeping constant interest within diligent students in our organization, as students always tend to find a paid job during their summer break instead of volunteering. But even without competitive financial encouragement, we manage to keep students working with us mainly by offering real-life practical experience and knowledge. We would like to increase speed of task implementation. With Google's financial encouragement we could let students spend the whole summer focusing on tasks that are in high demand for Java community.

How many potential mentors do you have for this year's program? What criteria did you use to select them?*

2 mentors. Current developers of Checkstyle will be mentors for students. They are mentioned in proposal page and already agreed to work with students. I, as administrator, will help all students too. Back-up administrator could play a backup mentor role as well.

What is your plan for dealing with disappearing students?*

Now our students have a flexible schedule, as they are not paid. We thank them for any contribution and keep in contact by exchanging e-mails ones in two weeks or by receiving notification that a student has put on hold his participation for some period of time. But in GSoC there will be additional financial encouragement from Google, so schedule will not be that free. Our view:

  • we will transfer all our current private e-mail communication to open platform (in our mail list), enabling each student to discuss problems separately and transparently to all mentors.
  • students will report to mentors twice a week about their status/achievements, they will have to do each day of “push” to repository to avoid loss of sources. Their remote repositories will be published in mail-list.
  • we will exchange cell phone numbers with students and additional emails to have more options to be in touch.
  • if student does not respond to mail-list (or private e-mail) and does not write a state-report once in a week, he receives public warning on mail-list. After a week of silence we will use alternative ways of communications (phone, private e-mails). If none of them works, student gets a second warning in mail-list. If he does not appear at Milestone, he is disqualified and I report to Google about this (prove is in mail-list, push history is in github).

What is your plan for dealing with disappearing mentors?*

All mentors that are specified in proposal, are active developers of the project. If anything unexpected happens - I and backup administrator will supervise students. As development process is completely transparent I could easily detect disappeared mentor.

What steps will you take to encourage students to interact with your project's community before and during the program?*

Our community is always open to new contributors no matter how much experience they have. We require only two things - a will to study and an interest to solve tasks. We have a number of wiki-like pages that are helpful to start development even student does not have Java experience at all. We also help to setup Operating System for development (Linux) and share knowledge how to efficiently work in it. All our developers have experience of working with student for several years.

During practicing in our project students will get experience in cooperating with mentors by discussing tasks what they need to resolve, think beyond the task description and initiate discussion if non clear aspect of implementation happens. We will focus their attention on automation of testing, writing documentation and reporting results to mentors. That give students the same experience as if they would work at software company.

During development all aspects are discussed in detail with students to let them understand the reasons for best practices rather than cramming them up. Quality of design or algorithm is in high demand during development process. We are never satisfied if the module just works. We always discuss nuances of Java language and demand deep understanding from students of what they are writing about, and the quality of code is always an issue and a primary concern for us. We will do detailed code review each time students are ready for review and show them ways of how to improve code.

After the program, students will come to understand the main rules of easy-to-read code. All results gained during practice will be of use for them at future work places and will benefit the whole Java Community. The idea of creating a module that can be used by all Java developers should sound very encouraging for students.

What will you do to encourage your accepted students to stick with the project after Google Summer of Code concludes?*

During the practice we will explain why clean code and our project matter and how they can be used in development process at any company to ensure stability and quality of work. During development of some validation rules or any other task in our project they will start to feel difference between messy code and ease-to-read code. The more they practice the more it becomes a part of their philosophy and the way of thinking. All their achievements do not have expiration date and could be used at any work place at any time. Students never waste their time on short-lived tasks. Students do tasks for their personal interests and for their future professional needs.

Once they gain this knowledge of clean and coherent coding they will never tolerate messy coding of their colleagues. They will come back to Checkstyle (what they are already do) to extend it with new messy code detected modules. Possibly that modules will be welcomed by Java community. Checkstyle is like spell checker in your word processor application - you never turn it off even you are proficient in spelling, and you always extend its dictionary with new words.

Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.

Aleksey Pesternikov (apesternikov@....) Dmytro Voytenko (dvoytenko@...)

Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.

No

If you chose "veteran" in the organization profile dropdown, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year.

If you are a new organization, have you applied in the past? If so, for what year(s)?

No

Is there anything else we should know or you'd like to tell us that doesn't fit anywhere else on the application?

Checkstyle project could easily automatically check almost all rules of Google's Java Style guide - http://google-styleguide.googlecode.com/svn/trunk/javaguide.html. After completion of our proposals even chapters "4.8.6 Comments", "7 Javadoc" .

Clone this wiki locally